Pythonでは、整数(int)とバイト列(bytes)の間で相互に変換することが可能です。この記事では、その方法を詳しく解説します。
intからbytesへの変換
Pythonで整数をバイト列に変換するには、to_bytes
メソッドを使用します。このメソッドは、整数を表すバイト列を返します。
n = 0b1111000111110010 # 2バイトの整数
# ビッグエンディアンで2バイトのbytesに変換
bytes_big = n.to_bytes(2, 'big') # b'\xf1\xf2'
# リトルエンディアンで2バイトのbytesに変換
bytes_little = n.to_bytes(2, 'little') # b'\xf2\xf1'
bytesからintへの変換
バイト列を整数に変換するには、int.from_bytes
メソッドを使用します。
# ビッグエンディアンのbytesからintに変換
n_big = int.from_bytes(b'\xf1\xf2', 'big') # 61938
# リトルエンディアンのbytesからintに変換
n_little = int.from_bytes(b'\xf2\xf1', 'little') # 61938
これらのメソッドを使うことで、Pythonで簡単に整数とバイト列の間で変換を行うことができます。これは、通信や暗号化など、バイナリデータを扱う際に非常に便利です。
以上、Pythonでのintとbytesの相互変換について解説しました。これらの知識を活用して、Pythonプログラミングをより効率的に行いましょう。.