Python 3.x Python 3 struct.pack未正确格式化十六进制字符串

Python 3.x Python 3 struct.pack未正确格式化十六进制字符串,python-3.x,struct.pack,Python 3.x,Struct.pack,由于某些原因,struct.pack无法正确格式化文件2。它应该打印“(b'\x00\x01\x75\x59”)。而是打印“(b'\x00\x01uY')”。知道这里发生了什么吗?它告诉我发布更多的信息,以便有资格发布我的问题。所以我只想输入一些随机的东西,直到它让我发布我的问题。改变你的期望:) 这两个字符串是等价的。Python以字节字符串形式显示ASCII字符: >>> b'\x75' == b'u' True >>> b'\x59' == b'Y' T

由于某些原因,struct.pack无法正确格式化文件2。它应该打印“(b'\x00\x01\x75\x59”)。而是打印“(b'\x00\x01uY')”。知道这里发生了什么吗?它告诉我发布更多的信息,以便有资格发布我的问题。所以我只想输入一些随机的东西,直到它让我发布我的问题。

改变你的期望:)

这两个字符串是等价的。Python以字节字符串形式显示ASCII字符:

>>> b'\x75' == b'u'
True
>>> b'\x59' == b'Y'
True
这些只是相同字节字符串的可打印表示形式。两个对象包含相同的字节值:

>>> b'\x00\x01\x75\x59' == b'\x00\x01uY'
True
>>> b'\x00\x01\x75\x59' == b'\x00\x01uY'
True
>>> list(b'\x00\x01uY')
[0, 1, 117, 89]
>>> list(b'\x00\x01\x75\x59')
[0, 1, 117, 89]