[英]Python string representation of binary data
我试图理解Python显示表示二进制数据的字符串的方式。
这是使用os.urandom的一个例子
In [1]: random_bytes = os.urandom(4)
In [2]: random_bytes
Out[2]: '\xfd\xa9\xbe\x87'
In [3]: random_bytes = os.urandom(4)
In [4]: random_bytes
Out[4]: '\r\x9eq\xce'
在random_bytes
的第一个例子中,在每个\\ x之后,似乎有十六进制形式的值:fd a9是87。
但是,在第二个例子中,我不明白为什么会显示'\\r\\x9eq\\xce'
。
为什么Python会在这个特定的表示中向我显示这些随机字节? 我该怎么解释'\\r\\x9eq\\xce'
?
\\ r是回车符,q是q字符 - 你应该参考它们的ASCII值(0x0d和0x71)
每当python可以 - 它将显示相应的ASCII字符,你只能看到\\ x什么时候不能(通常当字节高于0x79时)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.