विकिपीडिया कहता है
बेस 64 एन्कोडिंग योजनाओं का उपयोग आमतौर पर तब किया जाता है जब द्विआधारी डेटा को एन्कोड करने की आवश्यकता होती है, जिसे मीडिया पर संग्रहीत और स्थानांतरित किया जाना चाहिए जो कि पाठ्य डेटा से निपटने के लिए डिज़ाइन किया गया हो। यह सुनिश्चित करने के लिए है कि परिवहन के दौरान संशोधन के बिना डेटा बरकरार रहे।
लेकिन क्या ऐसा नहीं है कि डेटा को हमेशा बाइनरी में संग्रहीत / प्रेषित किया जाता है क्योंकि हमारी मशीनों में जो मेमोरी होती है वह बाइनरी होती है और यह निर्भर करता है कि आप इसकी व्याख्या कैसे करते हैं? इसलिए, चाहे आप ASCII में या Base64 में बिट पैटर्न 010011010110000101101110
को एन्कोड करें, आप अंततः उसी बिट पैटर्न को संग्रहीत करने जा रहे हैं।Man
TWFu
यदि अंतिम एन्कोडिंग शून्य और लोगों के संदर्भ में है और हर मशीन और मीडिया उनसे निपट सकते हैं, तो डेटा के ASCII या Base64 के रूप में प्रतिनिधित्व करने से क्या फर्क पड़ता है?
इसका क्या मतलब है "मीडिया जो पाठ्य डेटा से निपटने के लिए डिज़ाइन किया गया है"? वे बाइनरी = से निपट सकते हैं = वे किसी भी चीज़ से निपट सकते हैं।
सभी को धन्यवाद, मुझे लगता है कि मैं अब समझ गया हूं।
जब हम डेटा भेजते हैं, तो हम यह सुनिश्चित नहीं कर सकते हैं कि डेटा की व्याख्या उसी प्रारूप में की जाएगी, जैसा कि हमने किया था। इसलिए, हम कुछ प्रारूप (जैसे आधार 64) में कोड किए गए डेटा को भेजते हैं जो दोनों पक्ष समझते हैं। इस तरह भले ही प्रेषक और रिसीवर समान चीजों की अलग-अलग व्याख्या करते हों, लेकिन क्योंकि वे कोडित प्रारूप पर सहमत होते हैं, इसलिए डेटा को गलत तरीके से व्याख्या नहीं मिलेगी।
अगर मुझे भेजना है
Hello
world!
एक तरीका यह है कि इसे एएससीआईआई में भेजा जाए
72 101 108 108 111 10 119 111 114 108 100 33
लेकिन बाइट 10 को दूसरे छोर पर एक नई रेखा के रूप में सही ढंग से व्याख्या नहीं किया जा सकता है। इसलिए, हम ASCII के एक उपसमूह का उपयोग इस तरह से एन्कोड करने के लिए करते हैं
83 71 86 115 98 71 56 115 67 110 100 118 99 109 120 107 73 61 61
सूचना की एक ही राशि के लिए हस्तांतरित किए गए अधिक डेटा की कीमत पर, यह सुनिश्चित करता है कि रिसीवर डेटा को उद्देश्य तरीके से डिकोड कर सकता है, भले ही रिसीवर के बाकी चरित्र सेट के लिए अलग-अलग व्याख्याएं हों।