Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

बेस 64 डेटा एन्कोडिंग पायथन का उपयोग कर रहा है

बेस 64 मॉड्यूल में फ़ंक्शन बाइनरी डेटा को प्लेनटेक्स्ट प्रोटोकॉल का उपयोग करके ट्रांसमिशन के लिए उपयुक्त ASCII के सबसेट में अनुवाद करते हैं।

एन्कोडिंग और डिकोडिंग फ़ंक्शन RFC 3548 में विनिर्देशों को लागू करते हैं, जो बेस16, बेस32, और बेस64 एल्गोरिदम को परिभाषित करता है, और वास्तविक मानक Ascii85 और बेस85 एन्कोडिंग के लिए। RFC 3548 एन्कोडिंग बाइनरी डेटा को एन्कोड करने के लिए उपयुक्त हैं ताकि इसे ईमेल द्वारा सुरक्षित रूप से भेजा जा सके, URL के भागों के रूप में उपयोग किया जा सके, या HTTP POST अनुरोध के भाग के रूप में शामिल किया जा सके।

इस मॉड्यूल द्वारा प्रदान किया गया आधुनिक इंटरफ़ेस बाइट्स जैसी वस्तुओं को ASCII बाइट्स में एन्कोड करता है, और बाइट्स जैसी वस्तुओं या स्ट्रिंग्स को ASCII से बाइट्स में डिकोड करता है। RFC 3548 (सामान्य, और URL- और फाइल सिस्टम-सुरक्षित) में परिभाषित निम्नलिखित आधार-64 अक्षर समर्थित हैं।

बेस 64 डेटा एन्कोडिंग पायथन का उपयोग कर रहा है

आधुनिक इंटरफ़ेस प्रदान करता है -

base64.b64encode(): बेस 64 का उपयोग करके बाइट्स जैसी वस्तु को एन्कोड करता है और एन्कोडेड बाइट्स लौटाता है।

base64.b64decode(): बेस 64 एन्कोडेड बाइट्स जैसी वस्तु या ASCII स्ट्रिंग को डीकोड करें और डीकोड किए गए बाइट्स को वापस करें।

bse64 मॉड्यूल के b64encode() और base64desode() फ़ंक्शंस को प्रदर्शित करने के लिए, आइए पहले हम एक पायथन स्ट्रिंग को एन्कोड करें।

>>> import base64
>>> string = 'Python programming'
>>> enc_string = string.encode()
>>> enc_string
b'Python programming'

यह बाइट ऑब्जेक्ट b64encode() फ़ंक्शन का उपयोग करके एन्कोड किया गया है

>>> b64_estring = base64.b64encode(enc_string)
>>> b64_estring
b'UHl0aG9uIHByb2dyYW1taW5n'

हम इस बाइट ऑब्जेक्ट से स्ट्रिंग निकालने के लिए डिकोड () फ़ंक्शन का उपयोग कर सकते हैं।

>>> dec_string = b64_estring.decode()
>>> dec_string
'UHl0aG9uIHByb2dyYW1taW5n'

एन्कोड () फ़ंक्शन बाइट ऑब्जेक्ट देता है

>>> b1 = dec_string.encode()
>>> b1
b'UHl0aG9uIHByb2dyYW1taW5n'

b64decode() फ़ंक्शन का उपयोग करके डीकोड करने के लिए -

>>> d = base64.b64decode(b1)
>>> d
b'Python programming'

अंत में बाइट ऑब्जेक्ट के ऊपर डिकोडिंग करके मूल स्ट्रिंग प्राप्त करें

>>> originalstring = d.decode()
>>> originalstring
'Python programming'

बेस 64 अक्षर + और / का उपयोग कर सकते हैं, यदि URL में उपयोग किया जाता है, तो उन वर्णों को प्रतिस्थापित करने के लिए वैकल्पिक एन्कोडिंग का उपयोग करना आवश्यक है।

urlsafe_b64encode(): URL- और filesystemsafe वर्णमाला का उपयोग करके बाइट्स जैसी ऑब्जेक्ट को एन्कोड करें, जो मानक बेस 64 वर्णमाला में/के बजाय + और _ के स्थान पर प्रतिस्थापित करता है, और एन्कोडेड बाइट्स देता है।

urlsafe_b64decode(): URL और फाइलसिस्टम-सुरक्षित वर्णमाला का उपयोग करके बाइट्स जैसी वस्तु या ASCII स्ट्रिंग को डीकोड करें, जो मानक बेस 64 वर्णमाला में/के बजाय + और _ के स्थान पर प्रतिस्थापित करता है, और डिकोड किए गए बाइट्स देता है।

लीगेसी इंटरफ़ेस फ़ाइल ऑब्जेक्ट को एन्कोडिंग और डिकोडिंग के लिए फ़ंक्शन देता है -

base64.encode(इनपुट, आउटपुट): बाइनरी इनपुट फ़ाइल की सामग्री को एन्कोड करें और परिणामी बेस 64 एन्कोडेड डेटा को आउटपुट फ़ाइल में लिखें। इनपुट और आउटपुट फ़ाइल ऑब्जेक्ट होना चाहिए। इनपुट को तब तक पढ़ा जाएगा जब तक कि input.read() एक खाली बाइट ऑब्जेक्ट नहीं लौटाता।

base64.decode(इनपुट, आउटपुट): बाइनरी इनपुट फ़ाइल की सामग्री को डीकोड करें और परिणामी बाइनरी डेटा को आउटपुट फ़ाइल में लिखें। इनपुट और आउटपुट फ़ाइल ऑब्जेक्ट होना चाहिए। इनपुट को तब तक पढ़ा जाएगा जब तक कि input.readline() एक खाली बाइट ऑब्जेक्ट नहीं लौटाता।

सबसे पहले, 'wb' मोड का उपयोग करके एक फ़ाइल बनाएं

>>> f1 = open('file.txt','wb')
>>> f1.write('Simple is better than complex'.encode())
>>> f1.close()

अब base64.encode विधि का उपयोग करके फ़ाइल को एन्कोड करें।

>>> f1 = open('file.txt','rb')
>>> f2 = open('file.dat','wb')
>>> base64.encode(f1,f2)
>>> f1.close()
>>> f2.close()

fil.dat नोटपैड में खोले जाने पर निम्नलिखित सामग्री दिखाता है

U2ltcGxlIGlzIGJldHRlciB0aGFuIGNvbXBsZXg=

filenew.txt में file.dat को डिकोड करने के लिए decode() फ़ंक्शन का उपयोग करें

>>> f1 = open('file.dat','rb')
>>> f2 = open('filenew.txt','wb')
>>> base64.decode(f1,f2)
>>> f1.close()
>>> f2.close()

मूल पाठ filenew.txt में दिखाई देना चाहिए


  1. पायथन - बोकेह का उपयोग करके डेटा विज़ुअलाइज़ेशन

    बोकेह वेब ब्राउज़र के लिए एक पायथन डेटा विज़ुअलाइज़ेशन लाइब्रेरी है। यह बहुमुखी ग्राफिक्स का सुरुचिपूर्ण, संक्षिप्त निर्माण करता है। इसका उपयोग इंटरेक्टिव प्लॉट, डैशबोर्ड और डेटा एप्लिकेशन को जल्दी और आसानी से बनाने के लिए किया जाता है। इस लेख में हम देखेंगे कि कैसे हम बोकेह का उपयोग करके विभिन्न प्

  1. छवि आधारित स्टेग्नोग्राफ़ी अजगर का उपयोग कर?

    स्टेग्नोग्राफ़ी परदे के पीछे की जानकारी छिपाने की एक तकनीक है। यह क्रिप्टोग्राफी की तरह नहीं है जो डेटा को एन्क्रिप्ट करने पर केंद्रित है (विभिन्न एल्गोरिदम जैसे SHA1, MD5 आदि के माध्यम से), स्टेग्नोग्राफ़ी डेटा को छिपाने पर अधिक ध्यान केंद्रित करती है (डेटा एक फ़ाइल, छवि, संदेश या वीडियो हो सकता है

  1. वेबसाइट अवरोधक पायथन का उपयोग कर

    यदि आप एक बड़ी आईटी कंपनी में काम कर रहे हैं तो आप देख सकते हैं कि उनकी कुछ वेबसाइटें अवरुद्ध हैं, खासकर सोशल नेटवर्किंग साइट्स जैसे फेसबुक, यूट्यूब, इंस्टाग्राम इत्यादि। कुछ वेबसाइट को ब्लॉक करने के लिए थर्ड-पार्टी एप्लिकेशन का उपयोग करने के बजाय, हम अपना खुद का कस्टम एप्लिकेशन विकसित कर सकते हैं