解开从JavaScript FileReader API发送到Python的二进制串
-
08-10-2019 - |
题
我正在尝试解开我的Python应用中通过JavaScript的FileReader Readasbinary String方法发送的二进制字符串。看来我可以将结构模块用于此。我不确定要确切的拆卸格式提供什么。
有人可以确认这是正确的方法,如果是这样,我应该指定哪种格式?
根据JS文档:
结果将包含文件的数据作为二进制字符串。每个字节由[0..255]范围内的整数表示。
解决方案
听起来好像您只有一个普通的字符串(或 bytes
python 3)中的对象,所以我不确定您需要打开什么包装。
访问字节数据的一种方法是使用 bytearray
;这使您可以轻松地索引字节数据:
>>> your_data = b'\x00\x12abc'
>>> b = bytearray(your_data)
>>> b[0]
0
>>> b[1]
18
如果您将其作为字符串,并且不想使用bytearray(需要Python 2.6或更高版本),请使用 ord
将角色转换为整数。
>>> ord(your_data[1])
18
如果您的二进制数据在代表具有特殊endianness的整数或浮子的字节组方面具有特定的解释,那么 struct
模块当然是您的朋友,但是您不需要它只是检查字节数据。
不隶属于 StackOverflow