【发布时间】:2015-05-12 17:53:33
【问题描述】:
标题说明了一切。我知道pickle可以做到,但我真的不想打开文件只是为了转换一个数字。我想使用 float('nan') 并以二进制格式通过网络发送。
【问题讨论】:
标签: python binary floating-point nan
标题说明了一切。我知道pickle可以做到,但我真的不想打开文件只是为了转换一个数字。我想使用 float('nan') 并以二进制格式通过网络发送。
【问题讨论】:
标签: python binary floating-point nan
>>> import struct
>>> struct.pack('d', float('nan'))
b'\x00\x00\x00\x00\x00\x00\xf8\x7f'
如果您需要 little-endian 格式的双精度(8 字节)二进制表示。有关如何使用大端和/或单精度(4 字节)格式的所有详细信息,请参阅 https://docs.python.org/2/library/struct.html。
【讨论】:
'<d' 使用struct.pack 格式,以确保小端序。就目前而言,结果的字节顺序取决于平台。