我正在尝试在我的python应用程序中解压缩通过Javascript的FileReader readAsBinaryString方法发送的二进制字符串。看来我可以为此使用struct模块。我不确定要提供什么作为确切的解压缩格式。
有人可以确认这是正确的方法吗?如果是,我应该指定哪种格式?
根据JS文档:
结果将包含文件的数据
作为二进制字符串。每个字节是
用范围内的整数表示
[0..255]。
最佳答案
听起来好像只有一个普通的字符串(或Python 3中的bytes
对象),所以我不确定您需要解压缩什么。
访问字节数据的一种方法是使用bytearray
。这使您可以轻松索引字节数据:
>>> your_data = b'\x00\x12abc'
>>> b = bytearray(your_data)
>>> b[0]
0
>>> b[1]
18
如果将其作为字符串,并且不想使用字节数组(需要Python 2.6或更高版本),请使用
ord
将字符转换为整数。>>> ord(your_data[1])
18
如果您的二进制数据对字节组有特殊的解释,这些字节组代表具有特定字节序的整数或浮点数,则
struct
模块当然是您的朋友,但是您不需要仅检查字节数据。关于javascript - 解压缩从JavaScript FileReader API发送到Python的BinaryString,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3959380/