Python 3-十六进制字符串到字节

Python 3-十六进制字符串到字节,python,Python,我正在使用Python3,并尝试将十六进制字符串转换为字节表示的形式。因此,我使用了以下命令: bytes.fromhex('97ad300414b64c') 我期望得到这样的结果:b'\x97\xad\x30\x04\x14\xb6\x4c',但得到了b'\x97\xad0\x04\x14\xb6L'。我确信我做错了什么,但可能是编码的问题?正如@user8651755在评论中指出的,这是由于某些字节对应于可打印字符。所以答案是:你做的一切都是对的。一切都很好。print功能试图使事物“看起

我正在使用Python3,并尝试将十六进制字符串转换为字节表示的形式。因此,我使用了以下命令:

bytes.fromhex('97ad300414b64c')

我期望得到这样的结果:
b'\x97\xad\x30\x04\x14\xb6\x4c'
,但得到了
b'\x97\xad0\x04\x14\xb6L'
。我确信我做错了什么,但可能是编码的问题?

正如@user8651755在评论中指出的,这是由于某些字节对应于可打印字符。所以答案是:你做的一切都是对的。

一切都很好。
print
功能试图使事物“看起来”友好。在这种情况下没有<代码>打印(bytes.fromhex('4D6572727920436872697374746D6173'))
print(repr(b“\x30”)
一些字节对应于可打印字符<代码>\x30=>
'0'
\x4c
=>
'L'
。谢谢!在此之前,我们应该考虑更多。(在从十六进制字符串转换后,这两个都对Python 3中的
字节表示法感到困惑。)