1

私はこのようなユニコード文字列を持っています

mm = u'A\xe2\x80\x8ct\xe2\x80\x8ch\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8cl\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8ce\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8ct\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8ci\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8cc\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c Bilbao (n)\tC\xe2\x80\x8cD\xe2\x80\x8c \xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8cM\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8ci\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8cr\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8ca\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8cn\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8c\xe2\x80\x8cdes'

のようなものに印刷したいのですA‌t‌h‌‌‌‌‌‌l‌‌‌e‌‌‌‌t‌‌‌‌‌‌‌i‌‌‌‌‌c‌‌‌‌‌‌‌‌‌‌ Bilbao (n)が、方法がわかりませんか?試してみましunicode(mm.encode("utf-8"), 'string-escape')たが、この場合はうまくいきません。

編集: @Ignacio Vazquez-Abrams は正しく、PyCharm コンソールに問題があり、次のような Unicode 文字列を表示します。ここに画像の説明を入力

4

1 に答える 1

3

まず、間違ったエンコーディングを元に戻す必要があります。

>>> u'A\xe2\x80\x8ct\xe2\x80\x8ch...\xe2\x80\x8cdes'.encode('latin-1').decode('utf-8')
u'A\u200ct\u200ch\u200c\u200c\u200c\u200c\u200c\u200cl\u200c\u200c\u200ce\u200c\u200c\u200c\u200ct\u200c\u200c\u200c\u200c\u200c\u200c\u200ci\u200c\u200c\u200c\u200c\u200cc\u200c\u200c\u200c\u200c\u200c\u200c\u200c\u200c\u200c\u200c Bilbao (n)\tC\u200cD\u200c \u200c\u200c\u200c\u200c\u200c\u200cM\u200c\u200c\u200ci\u200c\u200c\u200c\u200cr\u200c\u200c\u200c\u200c\u200c\u200c\u200ca\u200c\u200c\u200c\u200c\u200cn\u200c\u200c\u200c\u200c\u200c\u200c\u200c\u200c\u200c\u200cdes'
>>> print u'A\xe2\x80\x8ct\xe2\x80\x8ch...\xe2\x80\x8cdes'.encode('latin-1').decode('utf-8')
A‌t‌h‌‌‌‌‌‌l‌‌‌e‌‌‌‌t‌‌‌‌‌‌‌i‌‌‌‌‌c‌‌‌‌‌‌‌‌‌‌ Bilbao (n)    C‌D‌ ‌‌‌‌‌‌M‌‌‌i‌‌‌‌r‌‌‌‌‌‌‌a‌‌‌‌‌n‌‌‌‌‌‌‌‌‌‌des
于 2013-10-09T17:38:03.823 に答える