我无法理解我何时应该在python的struct库中使用pack和unpack函数? 我也不明白如何使用它们? 阅读之后,我理解的是它们用于将数据转换为二进制。但是当我运行一些例子时:
>>> struct.pack("i",34)
'"\x00\x00\x00'
我无法理解它。 我想了解它的目的,这些转换是如何发生的,以及' \ x'和其他符号代表/意味着以及如何解包工作。
答案 0 :(得分:4)
我无法理解我何时应该在python的struct库中使用pack和unpack函数?
然后你可能没有理由使用它们。
其他人处理具有低级二进制打包的网络和文件格式,其中struct
非常有用。
然而,当我运行一些例子时:
>>> struct.pack("i",34) '"\x00\x00\x00'
我无法理解它。
\x
表示法用于使用hexadecimal表示bytes
对象的各个字节。 \x00
表示字节值为0,\x02
表示字节值为2,\x10
表示该字节值为16,等等。"
为字节34,因此我们在此字符串视图中看到"
而不是\x22
,但'\x22\x00\x00\x00'
和'"\x00\x00\x00'
是相同的字符串
http://www.swarthmore.edu/NatSci/echeeve1/Ref/BinaryMath/NumSys.html可能对您有所帮助。