ブラウザから入力されたテキスト(text)をencode("unicode-escape")してからdecode("ascii")を通します。

escaped_text = text.encode("unicode-escape").decode("ascii")

ところが、上記だけではエスケープ後に改行をブラウザ上で表示させることができません(正確には"\r\n"として表示されてしまいます)。どうにも良い方法が見つからず、一旦改行コードを適当な英数文字列に変換し、エスケープ後に"\n"に変換しています。そのため、ダミー文字列>を入れてエスケープするとそれは改行に変換されます。

元のテキストに戻すにはencode("ascii")してからdecode("unicode-escape")でデコードします。

unescaped_text = text.encode("ascii").decode("unicode-escape")

Back to the tool