Dize nesnelerini çözemezsiniz; Onlar zaten çözülmüş vardır. Farklı bir yöntem kullanmanız gerekecek.
Bir codec olarak hex
uygulamak için codecs.decode()
function kullanabilirsiniz: Bu Binary transform codec'i uygular
>>> import codecs
>>> codecs.decode('ab', 'hex')
b'\xab'
;
>>> import binascii
>>> binascii.unhexlify('ab')
b'\xab'
ya:
>>> import base64
>>> base64.b16decode('AB')
b'\xab'
Ayrıca bayt heks rakamlardan 'şifresini çözmek' için binascii.unhexlify()
function kullanabilir
: bu giriş dizesi ile
base64.b16decode()
function kullanarak eşdeğer büyük harfe dönüştürülür şekilde, bir
bytes
nesnesini alırsınız.
>>> s = '1bcd67879034' >>> codecs.decode (s, 'heks') b '\ X1B \ xcdg \ x87 \ X904' >>> ######### ########## bu beklenen bir sonuç değil: ama beklenen "b '\ x1b \ xcd \ x67 \ x87 \ x90 \ x34'" ## neyi özlüyorum? – rahookds
@rahookds: bu doğru görünüyor. Bir bayt literal gösteriminin yalnızca * yazdırılamayan * baytlar için '\ xhh' çıkış dizileri kullandığını unutmayın. '' 34', '' 4 '' karakteri için altıgen ASCII kod noktasıdır. '67'' g'' dir. –
yep! ne aradığımı nasıl görüyorum? ;-) – rahookds