मान लें कि आपके पास एक बाइट स्ट्रिंग है जैसे
"\ X12 \ X45 \ x00 \ xAB"
और आप बाइट की मात्रा और उनके प्रकार को जानते हैं आप इस दृष्टिकोण का उपयोग भी कर सकते हैं
import struct
bytes = '\x12\x45\x00\xAB'
val = struct.unpack('<BBH', bytes)
#val = (18, 69, 43776)
जैसा कि मैंने थोड़ा एंडियन निर्दिष्ट किया (प्रारूप का प्रारंभ करते हुए '<' चार का उपयोग करके) फ़ंक्शन ने दशमलव समकक्ष को लौटा दिया।
0x12 = 18
0x45 = 69
0xAB00 = 43776
B एक बाइट (8 बिट) के बराबर है
H दो बाइट्स (16 बिट) के बराबर है
अधिक उपलब्ध वर्ण और बाइट आकार यहां देखे जा सकते हैं
फायदे हैं ..
आप एक से अधिक बाइट और मानों के अंत को निर्दिष्ट कर सकते हैं
नुकसान ..
आपको वास्तव में अपने व्यवहार के प्रकार और लंबाई को जानना होगा