Python
python3

[Python] byte配列を文字列に変換する

Pythonでバイト列をHexで出力したかった時にどうすれば良いかがググったけどすぐに分からなかったので忘備録です(ブログからの転記です)。

とりあえずデバッグ用に16進数文字列に変換したいだけであれば、下記の方法で変換できます。

import binascii

# バイト配列を作成する
bytes_data = b'\x02\x1f\xa0'

# 文字列に変換する
hex_string = str(binascii.hexlify(bytes_data), 'utf-8')

# 結果 '021fa0'
print(hex_string)

追記

もっと簡単な方法を教えていただきました。

# バイト配列を作成する
bytes_data = b'\x02\x1f\xa0'

# 文字列に変換する
hex_string = bytes_data.hex()