Pythonでは、16進数の文字列をバイト列に変換するために bytes.fromhex()
という組み込み関数が提供されています。この関数は、16進数の文字列を引数に取り、対応するバイト列を返します。
# 16進数の文字列をバイト列に変換
byte_data = bytes.fromhex('abcd')
print(byte_data) # 出力: b'\xab\xcd'
また、バイト列を16進数の文字列に変換するためには、バイト列の hex()
メソッドを使用します。
# バイト列を16進数の文字列に変換
hex_string = byte_data.hex()
print(hex_string) # 出力: 'abcd'
これらの関数とメソッドは、バイナリデータとテキストデータの間で変換を行う際に非常に便利です。特に、ネットワーク通信や暗号化技術など、バイナリデータを扱う領域でよく使用されます。
なお、bytes.fromhex()
は不変なバイト列を生成しますが、変更可能なバイト列を生成したい場合は bytearray.fromhex()
を使用することも可能です。
# 16進数の文字列をバイト列に変換(bytearray版)
byte_array = bytearray.fromhex('abcd')
print(byte_array) # 出力: bytearray(b'\xab\xcd')
以上が bytes.fromhex()
の基本的な使用方法となります。これらの知識を活用して、Pythonでのバイナリデータの操作をより効率的に行ってみてください。.