嘿所有,我在使用struct.pack函数打包numpy.float32时遇到了一些麻烦。
f32 = 38.2
struct.pack('f', f32)
32位的38.2的十六进制表示为0x4218CCCD。但是,当我使用python终端运行上面的代码时(在导入适当的模块之后),输出是:
'\xcd\xcc\x18B'
我不明白为什么它会遗漏应该在B之前的\ x42。
我在64位机器上运行32位版本的python 2.7。有什么想法吗?
提前致谢。
答案 0 :(得分:1)
你得到了你想要的东西。
>>> "\x42" == "B"
True
答案 1 :(得分:0)
\x42
对应于ASCII B
。