python - 解码unicode字符串

标签 python unicode

我有一个像这样的 unicode 字符串

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‌‌‌‌‌‌‌‌‌‌‌c‌‌‌‌‌‌‌‌‌‌‌c Bilbao (n) 但不知道怎么做? 我尝试过 unicode(mm.encode("utf-8"), 'string-escape'),但在这种情况下不起作用。

编辑: @Ignacio Vazquez-Abrams 是对的,PyCharm 控制台存在一些问题,它显示 unicode 字符串,如 enter image description here

最佳答案

您需要先撤消不正确的编码。

>>> 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

关于python - 解码unicode字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19278912/

相关文章:

unicode - 简化字符串、删除变音符号的通用方法

c++ - 设计使用 UTF-8 或 UTF-16 的应用程序

python - 我正在尝试使用 Xpath 在 Selenium 中切换帧,但到目前为止还没有取得任何成功

java - 在 Java 客户端和 Twisted Python 套接字服务器之间发送缓冲图像

python - 模拟 ReadTheDocs 的子模块

unicode - 如何在VB6中显示Unicode字符?

Perl 拉丁语 9? Unicode - 需要添加支持

python - 在脚本中使用 App Engine yaml 解析器

python - 我可以在 Windows 上使用 python 通过非默认扬声器播放声音吗?

c# - SQL Server 生产版的行为与开发版不同。编码有问题!