Pythonでパケット処理をする際に勉強する必要があったため、PythonのStructクラスのpackおよびunpackに関してまとめてみました。それぞれバイナリデータ⇔C言語の構造体の変換を行います。 unpack関数 struct.unpack(fmt, string) 与えられたバイナリデータを、フォーマットとに従って解釈した結果をタプルで返します。フォーマットでの指定の仕方は公式ドキュメントを参考にしてください。 バイナリデータをunsigned_short型に変換する "FFFF"をunsigned_short型として解釈させます。 >>> from struct import * >>> binary_data = '\xFF\xFF' >>> unpack('H',binary_data) (65535,) バイナリデータをshort型に変換する 同じバイナリでも今度は符号