1

PythonアプリでJavascriptのFileReaderreadAsBinaryStringメソッドを介して送信されたバイナリ文字列を解凍しようとしています。これにはstructモジュールを使用できるようです。開梱の形式として正確に何を提供すればよいかわかりません。

誰かがこれが正しいアプローチであることを確認できますか?もしそうなら、どのフォーマットを指定する必要がありますか?

JSのドキュメントによると:

結果には、ファイルのデータがバイナリ文字列として含まれます。すべてのバイトは、[0..255]の範囲の整数で表されます。

4

1 に答える 1

3

通常の文字列(またはPython 3のオブジェクト)があるように聞こえるbytesので、何を解凍する必要があるのか​​わかりません。

バイトデータにアクセスする1つの方法は、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

バイナリデータが整数または特定のエンディアンの浮動小数点数を表すバイトのグループに関して特定の解釈を持っている場合、structモジュールは確かにあなたの友達ですが、バイトデータを調べるためだけにそれは必要ありません。

于 2010-10-18T13:13:06.383 に答える