您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python 3字节的奇怪符号

Python 3字节的奇怪符号

您是对的-这是一个十六进制表示法。

在字节字面量中,任何不能由可打印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'vy\xe9\xb5\xa2\xba\xf1Y\xe8\xe1fl\x1d\x87\xacC')
[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理解的转义序列的更多信息(尽管上面的代码是它用来表示字节对象的唯一信息)。

python 2022/1/1 18:49:47 有336人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶