Pythonでは、bytes
と配列の間で変換を行うことがよくあります。この記事では、その方法を詳しく説明します。
bytesと配列の変換
Pythonにはstruct
モジュールがあり、これを使ってbytes
と数値の間で変換を行うことができます。以下に具体的なコードを示します。
import struct
# float ⇒ bytes
val = 123.4
bytes_data = struct.pack('<f', val)
# bytes ⇒ float
float_val = struct.unpack('<f', bytes_data)[0]
# float配列 ⇒ bytes
vals = [123.4, 234.5]
bytes_data = struct.pack('<ff', *vals)
# bytes ⇒ float配列
float_vals = list(struct.unpack('<ff', bytes_data))
上記のコードでは、struct.pack
関数を使ってfloat
値をbytes
に変換し、struct.unpack
関数を使ってbytes
をfloat
に変換しています。また、float
の配列をbytes
に変換し、その逆の変換も行っています。
まとめ
Pythonのbytes
と配列の間での変換は、struct
モジュールを使うことで簡単に行うことができます。この知識は、バイナリデータを扱う際に非常に役立ちます。ぜひ覚えておきましょう。