Pythonでバイト配列を16進文字列に変換してまた元のバイト配列に戻す

_v = b'hello world.'
_v_hex = _v.hex()

print(_v_hex)

_v_bytes = bytes.fromhex(_v_hex)

print(_v_bytes)

出力

68656c6c6f20776f726c642e
b'hello world.'

fromhexはPython3.5から。

最初は超長いテキストを圧縮して、さらにstr型として保存しておきたくて調べてたんだけど、圧縮なんてbz2.compressすれば済んじゃうし、さらにテキストの内容によっては圧縮してもよけい長くなるだけだったりしたので要点を残すだけにしました。