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

Pythonでバイト列をHexで出力したかった時にどうすれば良いかがググったけどすぐに分からなかったので忘備録です。
とりあえずデバッグ用に16進数文字列に変換したいだけであれば、下記の方法で変換できます。

1
2
3
4
5
6
7
8
9
import binascii
 
# バイト配列を作製
bytes_data = b'\x02\x1f\xa0'
 
# 文字列に変換する
hex_string = str(binascii.hexlify(bytes_data), 'utf-8')
 
# 結果 '021fa0'

もっと簡単な方法

Quiitaに記事を書いたのですが、速攻でさらに簡単な方法を教えてもらいました。
hex()を使えば一発でいけます。

1
2
3
4
5
6
7
# バイト配列を作製
bytes_data = b'\x02\x1f\xa0'
 
# 文字列に変換する
hex_string = bytes_data.hex()
 
# 結果 '021fa0'

(参考URL)[https://qiita.com/k28@github/items/87c474a8658fd9a2470a]

0 件のコメント :

コメントを投稿