1

大家好,我在使用 struct.pack 函数打包 numpy.float32 时遇到了一些麻烦。

f32 = 38.2
struct.pack('f', f32)

38.2 的十六进制表示,32 位,是 0x4218CCCD。但是,当我使用 python 终端运行前面的代码时(在导入相应的模块之后),输出是:

'\xcd\xcc\x18B'

我不明白为什么它忽略了应该在 B 之前的 \x42。

我在 64 位机器上运行 32 位版本的 python 2.7。有任何想法吗?

提前致谢。

4

2 回答 2

1

你得到了你想要的。

>>> "\x42" == "B"
True
于 2011-06-03T18:33:11.960 回答
0

\x42对应于 ASCII B

于 2011-06-03T18:34:27.857 回答