Heim  >  Fragen und Antworten  >  Hauptteil

python怎么处理这样的unicode编码转换问题?

遇到一个问题,就是在用scrapy抓中文网页的时候,用它的feed exporter来自动保存的时候中文会以unicode的字符保存,(注意不是unicode编码,而是字符,下面会再解释的)这样我想要再读取这个文件的时候,不知道怎么样才能再显示为中文。

这里解释一下具体的问题:

就是保存下来的中文在一个.txt文件中,文件中的内容就是:\u91ce\u6cfd\u96c5\u5b50
这个文件本身的编码就是utf-8的,也就是说这相当于用utf-8的编码形式打开一个文件,然后分别写入了'\','u','9','1','c','e','\'......等字符。
这样我再次读入这个文件的时候,例如:
file = open("new.txt")
a = read(file)
print a
那结果是:
"\\u91ce\\u6cfd\\u96c5\\u5b50"

然而,最终我想要的是u'\u91ce\u6cfd\u96c5\u5b50',请问有没有人知道应该怎么做?

PHP中文网PHP中文网2715 Tage vor658

Antworte allen(2)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:09:37

    用unicode-escape就行了:
    示例:

    >>> a = "\\u91ce\\u6cfd\\u96c5\\u5b50"
    >>> a
    '\\u91ce\\u6cfd\\u96c5\\u5b50'
    >>> b = unicode(a,"unicode-escape")
    >>> b
    u'\u91ce\u6cfd\u96c5\u5b50'

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-17 17:09:37

    import json
    content = json.loads('"%s"' % content)

    Antwort
    0
  • StornierenAntwort