所以,我有这个非常简单的代码:
from construct import VarInt
a = VarInt.build(12345)
print(a)
with open('hello.txt', 'wb') as file:
file.write(a)
当我打印“a”时,它仅显示第一个字节,最后一个字节由于某种原因无法正确显示。它打印“b'\xb9`'”并且应该打印“b'\xb9\x60'”,或者至少这就是我想要打印的内容。现在,当我查看存储的文件时,它完全按照应有的方式保存字节,没有任何问题。有人知道这是怎么回事吗?另外,对于某些整数,它可以正确打印,但对于这个整数,它就不能正确打印。
最佳答案
这不是一个字节,而是
b'\xb9`'
您在 9
之后看到“`”吗?它是一个编码为 0x60
的字符。如果您想将所有字节显示为十六进制,您可以尝试以下代码片段:
print(" ".join(hex(n) for n in a))
关于Python 奇怪地打印字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70446129/