(Python 3.3.2) re.escape() の呼び出しによって返された非 ASCII エスケープ文字をアンエスケープする必要があります。私はこことここでうまくいかない方法を見ます。私は 100% UTF-8 環境で作業しています。
# pure ASCII string : ok
mystring = "a\n" # expected unescaped string : "a\n"
cod = codecs.getencoder('unicode_escape')
print( cod(mystring) )
# non ASCII string : method #1
mystring = "€\n"
# equivalent to : mystring = codecs.unicode_escape_decode(mystring)
cod = codecs.getdecoder('unicode_escape')
print(cod(mystring))
# RESULT = ('â\x82¬\n', 5) INSTEAD OF ("€\n", 2)
# non ASCII string : method #2
mystring = "€\n"
mystring = bytes(mystring, 'utf-8').decode('unicode_escape')
print(mystring)
# RESULT = â\202¬ INSTEAD OF "€\n"
これはバグですか?私は何かを誤解していますか?
どんな助けでも大歓迎です!
PS : Michael Foukarakis の発言のおかげで、投稿を編集しました。