我有一个 bytes 对象:
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' 吗?如果按照 ASCII 值来看,那应该是 '\x06{'。这里到底发生了什么? - MightyPork0
、6
、7
和b
。b'...'
的文字表示法不使用十六进制字符,而是使用ASCII字符。 - Martijn Pietersb'\x06\x7b'
(例如使用\xhh
十六进制转义),或者使用bytes()
函数并传入整数序列:bytes([0x06, 0x7b])
,使用十六进制文字指定的整数。 - Martijn Pieterspyudev
中获取了这个并想要显示它。我没有构建它。这是我第一次看到 b'blah' 表示法。 - MightyPork