Pythonには、バイト列を扱うためのbytesbytearrayという2つのデータ型があります。これらは、順序付けられたバイトの集合をメモリ上の連続した領域に格納するために使用されます。

bytesとは

bytesは不変のデータ型で、0から255の範囲の整数からなるイテラブル、指定したエンコーディングを使用したテキスト文字列、バッファAPIを実装する任意のオブジェクト、またはnullバイトで初期化された指定したサイズのバイトオブジェクトを構築します。

例えば、次のように使用できます:

s = b'\x01\x02\x03'
s += bytes([5])  # s = s + bytes([5])
print(s)  # b'\x01\x02\x03\x05'

bytearrayとは

一方、bytearrayは可変のデータ型で、bytesと同様の方法で使用できますが、その内容を更新(再割り当て)することが可能です。

例えば、次のように使用できます:

xs = bytearray(b'\x01\x02\x03')
xs.append(5)
print(xs)  # bytearray(b'\x01\x02\x03\x05')

また、bytearrayには.extendメソッドがあり、一度に複数のバイトを追加することができます。

xs = bytearray(b'\x01\x02\x03')
xs.extend(b'\x11\x22\x33')
print(xs)  # bytearray(b'\x01\x02\x03\x11\x22\x33')

これらのデータ型を理解し、適切に使用することで、Pythonでのバイト列の操作がより効率的になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です