バイナリデータをPythonでパースの方法

Python では、struct モジュールを使用してバイナリデータを処理できます。struct モジュールは、バイナリデータをさまざまな型のパックとアンパックを実行するための機能を提供します。以下に簡単な例を示します、struct モジュールを使用してバイナリデータを処理する方法のデモンストレーションです。

import struct

# 二进制数据
binary_data = b'\x01\x00\x00\x00\xa4\x01\x00\x00'

# 解析二进制数据
result = struct.unpack('<2I', binary_data)
print(result)

この例では、struct.unpack 関数がバイナリデータのパースに使用されています。<2Iはデータのフォーマットを指定しており、<はリトルエンディアン、2Iは2つの符号なし整数であることを意味します。struct.unpack 関数は、パースされたデータを含むタプルを返します。

上記のコードの出力が (1, 420) であるのは、バイナリデータが 1 と 420 という 2 つの整数として正常にパースできたことを意味します。

必要に応じて様々なフォーマット指令を使用して様々なタイプのデータを解析できます。詳細なフォーマット指令はPython公式ドキュメントのstructモジュールの説明を参照してください。

bannerAds