У меня есть байты объекта:Python3 байт в шестнадцатеричной строки
a = b'067b'
Как получить строку из него? Как это:
"067b"
Я пробовал:
In [3]: str(a)
Out[3]: "b'067b'"
In [4]: import codecs
In [5]: codecs.decode(a,'hex')
Out[5]: b'\x06{'
In [6]: import binascii
In [7]: binascii.b2a_hex(a)
Out[7]: b'30363762'
In [8]: binascii.hexlify(a)
Out[8]: b'30363762'
Есть ли никакого способа сделать это?
Это работает, но я не вижу, как 'b'067b'' является ASCII. Разве это не два байта, «06» и «7b»? Это действительно дало бы мне \ x06 {', если бы оно было принято как значения ASCII. Что здесь происходит? – MightyPork
@MightyPork: нет, это ** четыре ** байта. Символы '0',' 6', '7' и' b'. Литеральная буква 'b '...'' не принимает шестнадцатеричные символы, она принимает символы ASCII. –
О, хорошо, сбивает с толку. – MightyPork