この記事では、Pythonでbyte配列を数値に変換する方法を紹介します。
int.from_bytes()
メソッドやstruct
モジュールを使用することで、簡単にバイト列を整数に変換することができます。
目次から探す
Pythonでのbyte配列から数値への変換方法
Pythonでは、byte配列を数値に変換するためのいくつかの方法が提供されています。
ここでは、int.from_bytes()
メソッドとstruct
モジュールを使用した方法について解説します。
int.from_bytes()メソッドを使用する方法
int.from_bytes()
メソッドは、バイト列を整数に変換する際に便利です。
このメソッドを使用すると、バイト列を指定されたエンディアン形式で整数に変換することができます。
以下に、サンプルコードを示します。
# バイト列の作成
byte_array = b'\x00\x0f'
# リトルエンディアン形式でバイト列を整数に変換
result = int.from_bytes(byte_array, byteorder='little')
print(result) # 出力結果: 3840
3840
上記のコードでは、b'\x00\x0f'
というバイト列をリトルエンディアン形式で整数に変換しています。
3840
という結果が出力されます。
structモジュールを使用する方法
struct
モジュールを使用すると、バイト列を構造化データとして扱うことができます。
具体的には、struct.unpack()関数
を使用してバイト列を指定したフォーマットに従って解釈し、数値に変換することができます。
以下に、サンプルコードを示します。
import struct
# バイト列の作成
byte_array = b'\x00\x0f'
# バイト列をunsigned shortとして解釈し、数値に変換
result = struct.unpack('<H', byte_array)[0]
print(result) # 出力結果: 3840
3840
上記のコードでは、b'\x00\x0f'
というバイト列をunsigned shortとして解釈し、3840という結果が出力されます。
struct
モジュールを使用することで、さまざまなフォーマットに従ってバイト列を数値に変換することができます。
これらの方法を使うことで、Pythonで簡単にバイト列を数値に変換することができます。