qua*_*ano 1 python string byte
我有一个python webserver,其中小的二进制文件是POST:ed.发布的数据表示为字符串.我想检查这些字符串的内容.但要做到这一点,我需要将每4个字节转换为浮点数(小端).你是怎样做的?
您使用struct模块:
>>> import struct
>>> struct.unpack_from("f", "\43\a3\12\32")
(8.6198787687447256e-33,)
Run Code Online (Sandbox Code Playgroud)
虽然struct最好是解压缩"标量"二进制值的集合,但当你拥有的是一个接一个的字符串中的4字节二进制浮点序列时,阵列模块是理想的.具体来说,它很简单:
import array
thefloats = array.array('f', thestring)
Run Code Online (Sandbox Code Playgroud)
如果只有部分thestring包含4字节二进制浮点数的序列,则可以使用相应的字符串切片而不是整个字符串从该部分构建数组.该array实例提供了大部分功能list(加上方便的方法转换为/从字节串转换,如果需要,可以在little-endian和big-endian形式之间进行交换),但它不太灵活(只有浮点数可以在数组中)并且极大地更紧凑(可以占用比具有相同项目的列表少3-4倍的内存).
| 归档时间: |
|
| 查看次数: |
4191 次 |
| 最近记录: |