我正在尝试在我的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/

10-11 20:21