बाइट और बाइटएरे पायथन में बाइनरी डेटा को मैनिपुलेट करने के लिए उपयोग किए जाते हैं। ये बाइट्स और बाइटएरे बफर प्रोटोकॉल द्वारा सपोर्टेड होते हैं, जिसे मेमोरीव्यू कहा जाता है। मेमोरीव्यू वास्तविक डेटा को कॉपी किए बिना अन्य बाइनरी ऑब्जेक्ट की मेमोरी एक्सेस कर सकता है।
बाइट लिटरल्स इन विकल्पों द्वारा बनाए जा सकते हैं:
b'सिंगल कोट के साथ बाइट्स'
b"डबल कोट्स के साथ बाइट्स का एक और सेट"
b'''तीन सिंगल कोट्स का उपयोग करके बाइट्स''' या b"""तीन डबल कोट्स का उपयोग करके बाइट्स"""
बाइट और बाइटएरे से संबंधित कुछ मेथड्स निम्नलिखित हैं:
fromhex(string) मेथड
fromhex() मेथड बाइट ऑब्जेक्ट लौटाता है। यह एक स्ट्रिंग लेता है जहां प्रत्येक बाइट में दो हेक्साडेसिमल डिजिट्स होते हैं। इस मामले में ASCII व्हाइटस्पेस इग्नोर किए जाते हैं।
hex() मेथड
hex() मेथड प्रत्येक बाइट से दो हेक्साडेसिमल डिजिट्स लौटाने के लिए उपयोग किया जाता है।
replace(byte, new_byte) मेथड
replace() मेथड बाइट को नई बाइट से बदलने के लिए उपयोग किया जाता है।
count(sub[, start[, end]]) मेथड
यह फंक्शन सबस्ट्रिंग के नॉन-ओवरलैपिंग ऑकरेंसेज की संख्या लौटाता है। यह स्टार्ट और एंड के बीच चेक करता है।
find(sub[, start[, end]]) मेथड
find() मेथड सबस्ट्रिंग के पहले ऑकरेंस को खोज सकता है। यदि खोज सफल होती है, तो यह इंडेक्स लौटाता है, अन्यथा -1 लौटाता है।
partition(sep) मेथड
पार्टीशन मेथड एक सेपरेटर का उपयोग करके स्ट्रिंग को अलग करने के लिए उपयोग किया जाता है। यह विभिन्न पार्टीशन्स की एक लिस्ट बनाता है।
memoryview(obj) मेथड
memoryview() मेथड दिए गए आर्गुमेंट का मेमोरी व्यू ऑब्जेक्ट लौटाने के लिए उपयोग किया जाता है। मेमोरी व्यू पायथन बफर प्रोटोकॉल को व्यक्त करने का सुरक्षित तरीका है। यह किसी ऑब्जेक्ट के इंटरनल बफर को एक्सेस करने की अनुमति देता है।
उदाहरण कोड
hexStr = bytes.fromhex('A2f7 4509')
print(hexStr)
byteString = b'\xa2\xf7E\t'
print(byteString.hex())
bArray1 = b"XYZ"
bArray2 = bArray1.replace(b"X", b"P")
print(bArray2)
byteArray1 = b'ABBACACBBACA'
print(byteArray1.count(b'AC'))
print(byteArray1.find(b'CA'))
bArr = b'Mumbai,Kolkata,Delhi,Hyderabad'
partList = bArr.partition(b',')
print(partList)
myByteArray = bytearray('String', 'UTF-8')
memView = memoryview(myByteArray)
print(memView[2]) # 'r' का ASCII
print(bytes(memView[1:5]))आउटपुट
b'\xa2\xf7E\t' a2f74509 b'PYZ' 3 4 (b'Mumbai', b',', b'Kolkata,Delhi,Hyderabad') 114 b'trin'