आप स्ट्रिंग ऑब्जेक्ट्स को डीकोड नहीं कर सकते हैं; वे पहले से ही डीकोड किए गए हैं। आपको एक अलग विधि का उपयोग करना होगा।
तुम एक कोडेक के रूप में लागू करने के लिए hex
codecs.decode()
function उपयोग कर सकते हैं:
>>> import codecs
>>> codecs.decode('ab', 'hex')
b'\xab'
यह लागू होता है एक Binary transform कोडेक;
>>> import binascii
>>> binascii.unhexlify('ab')
b'\xab'
कोई एक:
>>> import base64
>>> base64.b16decode('AB')
b'\xab'
तुम भी binascii.unhexlify()
function 'डिकोड' करने के लिए बाइट्स हेक्स अंक के अनुक्रम का उपयोग कर सकते हैं: यह base64.b16decode()
function का उपयोग कर, इनपुट स्ट्रिंग के साथ के बराबर अपरकेस में परिवर्तित है रास्ता, आपको bytes
ऑब्जेक्ट मिलेगा।
स्रोत
2015-03-13 11:13:38
>>> रों = '1bcd67879034' >>> codecs.decode (रों, 'हेक्स') बी '\ x1B \ xcdg \ x87 \ x904' >>> ######### ########## यह अपेक्षित परिणाम नहीं है: लेकिन अपेक्षित "बी '\ x1b \ xcd \ x67 \ x87 \ x90 \ x34'" ## मुझे क्या याद आ रहा है? – rahookds
@rahookds: यह सही दिखता है। ध्यान दें कि बाइट्स शाब्दिक प्रतिनिधित्व केवल * गैर-प्रिंट करने योग्य * बाइट्स के लिए \ xhh' एस्केप अनुक्रमों का उपयोग करता है। '34' '' '' अक्षर के लिए हेक्स ASCII कोडपॉइंट है, उदाहरण के लिए। '67' 'जी' है। –
हाँ! तो, मैं कैसे देख सकता हूं कि मैं क्या देख रहा हूं? ;-) – rahookds