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でのバイナリデータの操作をより効率的に行ってみてください。.

投稿者 admin

コメントを残す

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