この記事では、Pythonで整数をバイト型に変換する方法を紹介します。
int.to_bytes()
メソッドやstruct.pack()関数、bytearray()関数
を使用することで、整数をバイト列に変換する手法を学ぶことができます。
目次から探す
Pythonで整数をbyte型に変換する方法
int.to_bytes()メソッドを使用する方法
Pythonのint
クラスには、to_bytes()
メソッドが用意されており、整数をバイト型に変換する際に便利です。
このメソッドを使用すると、指定したバイト数で整数を表現することができます。
以下は、to_bytes()
メソッドを使用して整数をバイト型に変換するサンプルコードです。
num = 255
num_bytes = num.to_bytes(2, byteorder='big')
print(num_bytes)
b'\x00\xff'
このコードでは、num
という整数を2バイトのバイト型に変換しています。
byteorder
パラメータを使用することで、エンディアン(バイトオーダー)を指定することができます。
struct.pack()関数を使用する方法
Pythonのstruct
モジュールには、バイナリデータをパックするためのpack()関数
があります。
この関数を使用すると、整数をバイト型に変換することができます。
以下は、struct.pack()関数
を使用して整数をバイト型に変換するサンプルコードです。
import struct
num = 65535
num_bytes = struct.pack('>H', num)
print(num_bytes)
b'\xff\xff'
このコードでは、num
という整数を2バイトの符号なしショート整数型(>H
)のバイト型に変換しています。
bytearray()関数を使用する方法
Pythonのbytearray()関数
を使用すると、整数をバイト型に変換することができます。
bytearray()関数
は、指定した整数をバイト列として表現します。
以下は、bytearray()関数
を使用して整数をバイト型に変換するサンプルコードです。
num = 123
num_bytes = bytearray([num])
print(num_bytes)
bytearray(b'{')
このコードでは、num
という整数を1バイトのバイト型に変換しています。
bytearray()関数
にリスト形式で整数を渡すことで、バイト型に変換されます。