代码之家  ›  专栏  ›  技术社区  ›  testinggnitset ser

python字节b’。。。。\x0009’和b’。。。\xa1q,)6\x01'

  •  1
  • testinggnitset ser  · 技术社区  · 7 年前

    我正在读一些代码,我的输出已经达到了字节数

     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,以及逗号+左括号如何出现在byte对象中

    1 回复  |  直到 7 年前
        1
  •  3
  •   Fire    7 年前

    这个 \xAB 符号用于表示ascii中没有可视表示的字节。但是,当字符确实具有表示形式时,会将其打印为表示形式。

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

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

    您可以找到所有ascii值 here