Pythonでは、バイナリデータを扱うための組み込み型としてbytes
とbytearray
があります。これらは、テキストデータとは異なるバイナリデータを扱うためのもので、それぞれ異なる特性を持っています。
bytesとは
bytes
は、イミュータブル(変更不可能)なシーケンス型です。つまり、一度作成したbytes
オブジェクトは、その後変更することができません。bytes
は主に文字列のデータを出力するとき、または入力するときにエンコードが行われ、bytes
型の文字列オブジェクトとなります。
b = b'\x64\x65\x66\x67' # b'defg'
print(b)
bytearrayとは
一方、bytearray
はミュータブル(変更可能)なシーケンス型です。つまり、作成後にその内容を変更することが可能です。bytearray
は、バイナリデータの取り扱いが可能になり、実務でbytearray
型を扱うことがある場合に備えて学習しておくと良いでしょう。
ba = bytearray([0x01, 0x02, 0x03])
print(ba) # bytearray(b'\x01\x02\x03')
ba.append(0x04)
print(ba) # bytearray(b'\x01\x02\x03\x04')
まとめ
Pythonのbytes
とbytearray
は、バイナリデータを扱うための重要な組み込み型です。これらの違いを理解し、適切に使い分けることで、より効率的なプログラミングが可能になります。今後もPythonのさまざまな機能を学んでいきましょう。.