python - 为什么 bytes.fromhex() 会产生显示的输出?
问题描述
我想知道为什么这个 hex:
bytes.fromhex("34 FF FA A3 A5")
给出输出:b'4\xff\xfa\xa3\xa5'
。为什么\x
消失了,不是\x34
吗?
解决方案
这就是它bytes
repr
的工作方式;当一个字节具有对应于可打印 ASCII 字符的序数值时,它表示为 ASCII 字符,而不是\x
转义码。您可以bytes
使用任何一种形式创建 (b'4' == b'\x34'
is True
;它们产生完全相同的bytes
值),但它选择 ASCII 显示以使恰好是 ASCII 的字节字符串更具可读性(并使许多repr
s 更短)。
推荐阅读
- java - 为什么我的自由配置会导致未知对象名称错误?
- python - Tkinter - 实时导出数据
- android - 如何更改 AlertDialog 按钮面板(操作按钮后面的区域)的颜色?
- php - 在全新的 laravel 安装中使用 eloquent find() 的奇怪行为
- c++ - clang-format 相当于 rustfmt 的 indent_style=Block 是什么?
- linq - Linq 表选择 IN IQueryable 的位置
- python-3.x - PyQt5-添加自定义 QComboBox 到弹出窗口
- java - 使用spring-data将文档存储在沙发库中
- r - 在 R 中嵌套 ifelse
- c++ - 按价格对文件中的产品进行排序