Python 3で16進文字列をデコードする 質問する

Python 3で16進文字列をデコードする 質問する

Python 2 では、文字列の 16 進形式を対応する Unicode に変換するのは簡単でした。

comments.decode("hex")

ここで、変数「comments」はファイル内の行の一部です(行の残りの部分はないASCII でのみ表現されるため、変換する必要があります。

しかし、Python 3 では、これは機能しません (バイト/文字列と文字列/Unicode スイッチが原因だと思います)。行全体を一連のバイトとして読み取って (これはやりたくない)、行の各部分を個別に変換するのではなく、Python 3 で同じことを実行するワンライナーがあるべきだと感じています。可能であれば、行全体を Unicode 文字列として読み取り (行の残りの部分は Unicode であるため)、この部分のみを 16 進表現から変換したいと思います。

ベストアンサー1

何かのようなもの:

>>> bytes.fromhex('4a4b4c').decode('utf-8')
'JKL'

実際に使用しているエンコーディングを入力するだけです。

おすすめ記事