0

我正在通过 RE 搜索为人名抓取 xml 网页,但是如果名称包含特殊字符,python 无法正确读取它们。例如:

Güngüneş A

出来为:

G\xc3\xbcng\xc3\xbcne\xc5\x9f A

我怎样才能在我的输出中正确地制作这种格式?

4

2 回答 2

0

你是怎么读这些的?您使用的是什么操作系统?Python 2 还是 3?当我跑步时,

myStr = 'G\xc3\xbcng\xc3\xbcne\xc5\x9f A'
print myStr

我得到,'Güngüneş A'。

此外,当我使用内容“Güngüneş A”制作测试文件并运行时,

mystr = open('test', 'r').read()
print mystr

我得到'Güngüneş A'。

我正在使用 ubuntu 10.04/python 2.6 并且无法使用您提供的信息重现问题,如果您发布您正在使用的实际代码可能会有所帮助。也就是说,您可以尝试指定字符串的类型:

myStr = 'String'
myStr = u'Unicode string'
myStr = r'String literal: escape characters ignored'

或者,如果您想在代码中包含 unicode 字符,可以将此行添加到文件的开头,如本答案中所述:

# -*- coding: utf-8 -*-
于 2013-06-27T15:53:00.253 回答
0

使用decode()

>>> b'G\xc3\xbcng\xc3\xbcne\xc5\x9f A'.decode()
'Güngüne\u015f A'

(我的机器有 'ş' 的问题)

于 2013-06-27T15:30:23.813 回答