我的代码如下所示:
import struct
str = "AAAAAAA"
len = len(str)+32
package = struct.pack("!H",len)
print repr(package)
结果是:
"\x00'"
当我使用len = len(str)
结果是 \x00\x07
为什么当len
大于32时,它不起作用?
最佳答案
您误解了 "\x00'"
结果。它是字符串十六进制字符代码值和常规可打印 ASCII 字符的混合。如果纯粹以十六进制字符代码显示,则为"\x00x\x27"
。
十进制的\x27
是整数39
,它是len(str)+32
的结果。它也是 '
(单引号)字符的字符代码,它是 repr()
显示内容的一部分。
关于python - 使用 struct.pack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40722149/