使用struct.pack将numpy.float32打包成4个字节

时间:2011-06-03 18:29:19

标签: struct floating-point pack

嘿所有,我在使用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。有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

你得到了你想要的东西。

>>> "\x42" == "B"
True

答案 1 :(得分:0)

\x42对应于ASCII B