"बाइट्स(एन)" के साथ बाइट स्ट्रिंग्स बनाना
पायथन 3 में "बाइट्स(एन)" फ़ंक्शन एक परिवर्तित नहीं करता है इसके बाइनरी प्रतिनिधित्व के लिए पूर्णांक लेकिन इसके बजाय लंबाई n की एक बाइट स्ट्रिंग बनाता है, जो शून्य बाइट्स (बी'\x00') से भरा होता है। यह व्यवहार पायथन 3.2 से उपजा है, जहां "to_bytes()" विधि को पूर्णांकों को बाइट्स में एन्कोड करने के साधन के रूप में पेश किया गया था।
To_Bytes और To_Bytes
()" विधि बाइट क्रम (बड़े-एंडियन या छोटे-एंडियन) और लंबाई को निर्दिष्ट करते हुए, एक पूर्णांक को बाइट प्रतिनिधित्व में स्पष्ट रूप से परिवर्तित करने की अनुमति देती है। उदाहरण के लिए:
(1024).to_bytes(2, byteorder='big') == b'\x04\x00'
From_Bytes और From_Bytes
पूरक "from_bytes()" विधि एक बाइट अनुक्रम को वापस पूर्णांक में परिवर्तित कर सकती है:
int.from_bytes(b'\x04\x00', 'big') == 1024
अहस्ताक्षरित पूर्णांक
"to_bytes()" विधि गैर-नकारात्मक (अहस्ताक्षरित) पूर्णांकों के लिए काम करती है। हस्ताक्षरित पूर्णांकों को संभालने के लिए, थोड़ा अलग दृष्टिकोण आवश्यक है:
def int_to_bytes(number: int) -> bytes:
return number.to_bytes(length=(8 (number (number < 0)).bit_length()) // 8, byteorder='big', signed=True)
def int_from_bytes(binary_data: bytes) -> Optional[int]:
return int.from_bytes(binary_data, byteorder='big', signed=True)
इन फ़ंक्शंस का उपयोग करके, आप बाइट अनुक्रमों से हस्ताक्षरित पूर्णांकों को एनकोड और डीकोड कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3