python bytes b'.... \ x0009'和b'... \ xa1q,)6 \ x01'

时间:2018-04-22 00:42:25

标签: python arrays byte

我正在阅读一些代码,并且我已经使用输出

运行了字节
 b'\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x0009'
 b'\x00\x00\x00...\x9dg\xac\xdf\xa1q,)6\x01'

为什么\ x0009和\ 1q,)6有效?

我不明白为什么它不像\ x00 \ x09那样以及逗号+左括号如何出现在字节对象中

1 个答案:

答案 0 :(得分:3)

\xAB表示法用于表示ascii中没有可视表示的字节。但是,当一个角色确实有一个表示时,就会这样打印出来。

在您的情况下,空字节(\x00)与ascii字符不对应,而逗号和左括号则对应。它们实际上是\x2c\x28 你可以自己测试一下:

b'\x2c\x28' == b',('
True

您可以找到所有ascii值here