Python 奇怪地打印字节

标签 python

所以,我有这个非常简单的代码:

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/

相关文章:

python - Raspberry Pi python显示内存中的图像

python - 为什么setuptools不支持README.md?

python - 当 Kafka 从 Python 脚本启动时,kafka-server-stop.sh 不工作

python - Flask-Python 空 html 输入返回值的特征

python - 替换所有列中的缺失值,除了 pandas 数据框中的一列

python - 循环读取 XML 文件最终会导致内存错误

Python 不可排序类型 : NoneType() > int() when finding max of a list

python - 导入使用 OpenMP 的 python 扩展后显示 PyQt4 窗口时崩溃

python - 根据另一个模型对象的列表从模型获取数据

python - 以多个单位/表示形式绘制相同的数值关系