Pythonでは、struct
モジュールを使用して、bytesとfloatの相互変換を行うことができます。
floatからbytesへの変換
floatからbytesへの変換は、struct.pack
関数を使用します。以下に例を示します。
import struct
val = 123.4
bytes_val = struct.pack('<f', val)
print(bytes_val) # 出力: b'\\xcd\\xcc\\xf6B'
bytesからfloatへの変換
bytesからfloatへの変換は、struct.unpack
関数を使用します。以下に例を示します。
import struct
bytes_val = b'\\xcd\\xcc\\xf6B'
float_val = struct.unpack('<f', bytes_val)[0]
print(float_val) # 出力: 123.4000015258789
float配列とbytesの相互変換
float配列とbytesの相互変換も可能です。以下に例を示します。
import struct
# float配列からbytesへの変換
vals = [123.4, 234.5]
bytes_vals = struct.pack('<ff', *vals)
print(bytes_vals) # 出力: b'\\xcd\\xcc\\xf6B\\x00\\x80jC'
# bytesからfloat配列への変換
float_vals = list(struct.unpack('<ff', bytes_vals))
print(float_vals) # 出力: [123.4000015258789, 234.5]
以上がPythonでbytesとfloatの相互変換を行う基本的な方法です。これらの方法を理解し、適切に使用することで、バイナリデータの操作が可能になります。.