首页 > 解决方案 > 为什么 bytes.fromhex() 会产生显示的输出?

问题描述

我想知道为什么这个 hex: bytes.fromhex("34 FF FA A3 A5") 给出输出:b'4\xff\xfa\xa3\xa5'。为什么\x消失了,不是\x34吗?

标签: python

解决方案


这就是它bytes repr的工作方式;当一个字节具有对应于可打印 ASCII 字符的序数值时,它表示为 ASCII 字符,而不是\x转义码。您可以bytes使用任何一种形式创建 (b'4' == b'\x34'is True;它们产生完全相同的bytes值),但它选择 ASCII 显示以使恰好是 ASCII 的字节字符串更具可读性(并使许多reprs 更短)。


推荐阅读