PythonでUnicodeエスケープされた文字列を元に戻す方法

JSONでは文字列をUnicodeエスケープします。
そのため”\u672c\u65e5\u306f\u6674\u5929\u306a\u308a”のような意味不明の文字列になっています。

fn_json = "xxxxx.json"
with open(fn_json) as f:
  records = json.load(f)

上のようにすると配列(リスト)に変換され、このときエスケープされた文字列も元に戻ります。

では単にエスケープされた文字列を元に戻すにはどうすればいいでしょうか。

text = "\u672c\u65e5\u306f\u6674\u5929\u306a\u308a"
text_decode = text_escape.encode().decode("unicode-escape")
print(text_decode)

上のようにすると「本日は晴天なり」となります。

逆に単にエスケープする場合は次のようにします。

text = "本日は晴天なり"
text_escape = ascii(text)
print(text_escape)

コメント

タイトルとURLをコピーしました