खोज…


परिचय

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

वाक्य - विन्यास

  • base64.b64encode (s, altchars = कोई नहीं)
  • base64.b64decode (s, altchars = कोई नहीं, मान्य करें = गलत)
  • base64.standard_b64encode (रों)
  • base64.standard_b64decode (रों)
  • base64.urlsafe_b64encode (रों)
  • base64.urlsafe_b64decode (रों)
  • base64.b32encode (रों)
  • base64.b32decode (रों)
  • base64.b16encode (रों)
  • base64.b16decode (रों)
  • Base64.a85encode (b, foldspaces = False, wracol = 0, pad = False, adobe = "ब्लॉक)
  • base64.a85decode (b, foldpaces = False, adobe = False, ignorechars = b '\ t \ n \ r \ v')
  • base64.b85encode (b, पैड = गलत)
  • base64.b85decode (ख)

पैरामीटर

पैरामीटर विवरण
base64.b64encode(s, altchars=None)
रों बाइट्स जैसी वस्तु
altchars बेस 64 वर्णमाला बनाते समय '+' और '=' वर्णों को बदलने के लिए वर्णों की लंबाई 2+ की बाइट्स जैसी वस्तु। अतिरिक्त पात्रों की अनदेखी की जाती है।
base64.b64decode(s, altchars=None, validate=False)
रों बाइट्स जैसी वस्तु
altchars बेस 64 वर्णमाला बनाते समय '+' और '=' वर्णों को बदलने के लिए वर्णों की लंबाई 2+ की बाइट्स जैसी वस्तु। अतिरिक्त पात्रों की अनदेखी की जाती है।
सत्यापित करें यदि वैध है, तो सामान्य बेस 64 वर्णमाला या वैकल्पिक वर्णमाला में वर्ण गद्देदार जांच से पहले खारिज नहीं किए जाते हैं
base64.standard_b64encode(s)
रों बाइट्स जैसी वस्तु
base64.standard_b64decode(s)
रों बाइट्स जैसी वस्तु
base64.urlsafe_b64encode(s)
रों बाइट्स जैसी वस्तु
base64.urlsafe_b64decode(s)
रों बाइट्स जैसी वस्तु
b32encode(s)
रों बाइट्स जैसी वस्तु
b32decode(s)
रों बाइट्स जैसी वस्तु
base64.b16encode(s)
रों बाइट्स जैसी वस्तु
base64.b16decode(s)
रों बाइट्स जैसी वस्तु
base64.a85encode(b, foldspaces=False, wrapcol=0, pad=False, adobe=False)
बाइट्स जैसी वस्तु
foldspaces यदि Foldspaces True है, तो लगातार 4 रिक्त स्थान के बजाय 'y' अक्षर का उपयोग किया जाएगा।
wrapcol एक नई पंक्ति से पहले संख्या वर्ण (0 का अर्थ है कोई नई सीमा नहीं)
तकती यदि पैड सही है, तो बाइट्स एन्कोडिंग से पहले 4 के एक से अधिक में गद्देदार होते हैं
एडोब अगर Adobe सच है, तो Adobe उत्पादों के साथ उपयोग किए गए एन्कोडेड को '<~' और '' ~> 'के साथ फंसाया जाएगा।
base64.a85decode(b, foldspaces=False, adobe=False, ignorechars=b'\t\n\r\v')
बाइट्स जैसी वस्तु
foldspaces यदि Foldspaces True है, तो लगातार 4 रिक्त स्थान के बजाय 'y' अक्षर का उपयोग किया जाएगा।
एडोब अगर Adobe सच है, तो Adobe उत्पादों के साथ उपयोग किए गए एन्कोडेड को '<~' और '' ~> 'के साथ फंसाया जाएगा।
ignorechars एन्कोडिंग प्रक्रिया में अनदेखी करने के लिए वर्णों की एक बाइट्स जैसी वस्तु
base64.b85encode(b, pad=False)
बाइट्स जैसी वस्तु
तकती यदि पैड सही है, तो बाइट्स एन्कोडिंग से पहले 4 के एक से अधिक में गद्देदार होते हैं
base64.b85decode(b)
बाइट्स जैसी वस्तु

टिप्पणियों

पायथन 3.4 तक बाहर आने तक, बेस 64 एन्कोडिंग और डिकोडिंग फ़ंक्शन केवल bytes या bytearray प्रकारों के साथ काम करते थे। अब ये फ़ंक्शन किसी भी बाइट्स-जैसे ऑब्जेक्ट को स्वीकार करते हैं।

एन्कोडिंग और डिकोडिंग Base64

अपनी स्क्रिप्ट में बेस 64 मॉड्यूल शामिल करने के लिए, आपको इसे पहले आयात करना होगा:

import base64

बेस 64 एनकोड और डिकोड फ़ंक्शंस दोनों को बाइट्स जैसी ऑब्जेक्ट की आवश्यकता होती है। हमारे स्ट्रिंग को बाइट्स में लाने के लिए, हमें इसे एन्कोडिंग फ़ंक्शन में पायथन द्वारा निर्मित का उपयोग करके एनकोड करना होगा। आमतौर पर, UTF-8 एन्कोडिंग का उपयोग किया जाता है, हालांकि इन मानक एन्कोडिंग (विभिन्न पात्रों वाली भाषाओं सहित) की एक पूरी सूची यहां आधिकारिक पायथन प्रलेखन में पाई जा सकती है। नीचे एक स्ट्रिंग को बाइट्स में एन्कोडिंग का एक उदाहरण है:

s = "Hello World!"
b = s.encode("UTF-8")

अंतिम पंक्ति का आउटपुट होगा:

b'Hello World!'

मान को निरूपित करने के लिए b उपसर्ग का उपयोग बाइट ऑब्जेक्ट है।

Base64 इन बाइट्स को एनकोड करने के लिए, हम base64.b64encode() फ़ंक्शन का उपयोग करते हैं:

import base64
s = "Hello World!"
b = s.encode("UTF-8")
e = base64.b64encode(b)
print(e)

यह कोड निम्नलिखित आउटपुट देगा:

b'SGVsbG8gV29ybGQh'

जो अभी भी बाइट ऑब्जेक्ट में है। इन बाइट्स से एक स्ट्रिंग प्राप्त करने के लिए, हम UTF-8 एन्कोडिंग के साथ पायथन decode() विधि का उपयोग कर सकते हैं:

import base64
s = "Hello World!"
b = s.encode("UTF-8")
e = base64.b64encode(b)
s1 = e.decode("UTF-8")
print(s1)

तब उत्पादन होगा:

SGVsbG8gV29ybGQh

यदि हम स्ट्रिंग को एनकोड करना चाहते हैं और फिर डिकोड करते हैं तो हम base64.b64decode() विधि का उपयोग कर सकते हैं:

import base64
# Creating a string
s = "Hello World!"
# Encoding the string into bytes
b = s.encode("UTF-8")
# Base64 Encode the bytes
e = base64.b64encode(b)
# Decoding the Base64 bytes to string
s1 = e.decode("UTF-8")
# Printing Base64 encoded string
print("Base64 Encoded:", s1)
# Encoding the Base64 encoded string into bytes
b1 = s1.encode("UTF-8")
# Decoding the Base64 bytes
d = base64.b64decode(b1)
# Decoding the bytes to string
s2 = d.decode("UTF-8")
print(s2)

जैसा कि आप उम्मीद कर सकते हैं, आउटपुट मूल स्ट्रिंग होगा:

Base64 Encoded: SGVsbG8gV29ybGQh
Hello World!

एन्कोडिंग और डिकोडिंग Base32

बेस 64 मॉड्यूल में बेस 32 के लिए एन्कोडिंग और डिकोडिंग फ़ंक्शन भी शामिल हैं। ये कार्य बेस 64 कार्यों के समान हैं:

import base64
# Creating a string
s = "Hello World!"
# Encoding the string into bytes
b = s.encode("UTF-8")
# Base32 Encode the bytes
e = base64.b32encode(b)
# Decoding the Base32 bytes to string
s1 = e.decode("UTF-8")
# Printing Base32 encoded string
print("Base32 Encoded:", s1)
# Encoding the Base32 encoded string into bytes
b1 = s1.encode("UTF-8")
# Decoding the Base32 bytes
d = base64.b32decode(b1)
# Decoding the bytes to string
s2 = d.decode("UTF-8")
print(s2)

यह निम्न आउटपुट का उत्पादन करेगा:

Base32 Encoded: JBSWY3DPEBLW64TMMQQQ====
Hello World!

एन्कोडिंग और डिकोडिंग Base16

बेस 64 मॉड्यूल में बेस 16 के लिए एन्कोडिंग और डिकोडिंग फ़ंक्शन भी शामिल हैं। बेस 16 को आमतौर पर हेक्साडेसिमल के रूप में जाना जाता है। ये कार्य बेस 64 और बेस 32 दोनों कार्यों के समान हैं:

import base64
# Creating a string
s = "Hello World!"
# Encoding the string into bytes
b = s.encode("UTF-8")
# Base16 Encode the bytes
e = base64.b16encode(b)
# Decoding the Base16 bytes to string
s1 = e.decode("UTF-8")
# Printing Base16 encoded string
print("Base16 Encoded:", s1)
# Encoding the Base16 encoded string into bytes
b1 = s1.encode("UTF-8")
# Decoding the Base16 bytes
d = base64.b16decode(b1)
# Decoding the bytes to string
s2 = d.decode("UTF-8")
print(s2)

यह निम्न आउटपुट का उत्पादन करेगा:

Base16 Encoded: 48656C6C6F20576F726C6421
Hello World!

एन्कोडिंग और डिकोडिंग ASCII85

Adobe ने ASCII85 नाम की खुद की एन्कोडिंग बनाई जो कि Base85 के समान है, लेकिन इसके अंतर हैं। एडोब पीडीएफ फाइलों में इस एन्कोडिंग का अक्सर उपयोग किया जाता है। ये कार्य पायथन संस्करण 3.4 में जारी किए गए थे। अन्यथा, कार्य base64.a85encode() और base64.a85encode() पिछले के समान हैं:

import base64
# Creating a string
s = "Hello World!"
# Encoding the string into bytes
b = s.encode("UTF-8")
# ASCII85 Encode the bytes
e = base64.a85encode(b)
# Decoding the ASCII85 bytes to string
s1 = e.decode("UTF-8")
# Printing ASCII85 encoded string
print("ASCII85 Encoded:", s1)
# Encoding the ASCII85 encoded string into bytes
b1 = s1.encode("UTF-8")
# Decoding the ASCII85 bytes
d = base64.a85decode(b1)
# Decoding the bytes to string
s2 = d.decode("UTF-8")
print(s2)

यह निम्न आउटपुट देता है:

ASCII85 Encoded: 87cURD]i,"Ebo80
Hello World!

एन्कोडिंग और डिकोडिंग Base85

बेस 64, बेस 32 और बेस 16 फंक्शंस की तरह, बेस 85 एनकोडिंग और डिकोडिंग फंक्शन base64.b85encode() और base64.b85decode() :

import base64
# Creating a string
s = "Hello World!"
# Encoding the string into bytes
b = s.encode("UTF-8")
# Base85 Encode the bytes
e = base64.b85encode(b)
# Decoding the Base85 bytes to string
s1 = e.decode("UTF-8")
# Printing Base85 encoded string
print("Base85 Encoded:", s1)
# Encoding the Base85 encoded string into bytes
b1 = s1.encode("UTF-8")
# Decoding the Base85 bytes
d = base64.b85decode(b1)
# Decoding the bytes to string
s2 = d.decode("UTF-8")
print(s2)

जो निम्न आउटपुट देता है:

Base85 Encoded: NM&qnZy;B1a%^NF
Hello World!


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow