我习惯于将字节表示为十六进制值的 python 字节文字语法,例如b'\x7a'
hex value 0x7a
。但是,我遇到了一个我不知道它是如何工作的问题。我第一次使用 ssl 库并使用它创建随机值ssl.RAND_bytes(...)
它正在返回带有改变值的字符的字符串(例如在执行 时int.from_bytes(...)
) 我收到的示例字符串:
b'\x12\x1f)\x8b\xe0\xd7LD'
b'\x808\x8a(\x02\xb3S\xc9\xabW_\n\xf3\xbb\x80o'
b'\xde\xef\x81%FMB=Ps'
b'9\x81\x90\xdc\xfa\x98\xbd\x1f^;'
我不明白的是那些非十六进制值的字符,例如9
前面的 the\x81
或MB=Ps
. 我想了解这些额外值代表什么以及在调试代码时如何解释它们。我知道python对这些没有问题,是我不知所措。
注意:我在 windows 7 64bit 上使用 python3.3