您是对的-这是一个十六进制表示法。
在字节字面量中,任何不能由可打印ASCII字符(或标准转义字符之一
n,
t或
r)
xNN表示的字节都表示为,其中NN是该字节的2位十六进制表示形式。
让您感到困惑的是,您误会了例如
xf1Y单个转义序列,而实际上它代表了两个单独的字节:
>>> len(b'xf1Y')2>>> [bytes([b]) for b in b'xf1Y'][b'xf1', b'Y']
如果遍历一个字节对象,您将获得字节的整数值:
>>> list(b'vyxe9xb5xa2xbaxf1Yxe8xe1flx1dx87xacC')[118, 121, 233, 181, 162, 186, 241, 89, 232, 225, 102, 108, 29, 135, 172, 67]>>> bytes([118])b'v'>>> bytes([121])b'y'>>> bytes([233])b'xe9'
Python字符串和字节对象中的转义序列的文档提供了有关Python理解的转义序列的更多信息(尽管上面的代码是它用来表示字节对象的唯一信息)。



