Python文件输入字符串:如何处理转义的unicode字符?

2024-10-01 11:24:44 发布

您现在位置:Python中文网/ 问答频道 /正文

在文本文件中(测试.txt),我的字符串如下所示:

Gro\u00DFbritannien

在阅读它时,python会避开反斜杠:

^{pr2}$

如何将其解释为unicode?decode()unicode()不能完成这项工作。在

下面的代码将Gro\u00DFbritannien写回文件,但我希望它是Großbritannien

>>> input.decode('latin-1')
u'Gro\\u00DFbritannien'
>>> out = codecs.open('out.txt', 'w', 'utf-8')
>>> out.write(input)

Tags: 文件字符串代码txtinputunicodeoutdecode
2条回答

要使用unicode_escape编解码器:

>>> x = 'Gro\\u00DFbritannien'
>>> y = unicode(x, 'unicode_escape')
>>> print y
Großbritannien

请参见the docs,了解作为Python标准库一部分的大量标准编码。在

使用内置的“unicode_escape”编解码器:

>>> file = open('test.txt', 'r')
>>> input = file.readline()
>>> input
'Gro\\u00DFbritannien\n'
>>> input.decode('unicode_escape')
u'Gro\xdfbritannien\n'

您还可以使用codecs.open()

^{2}$

标准编码列表可在Python文档中找到:http://docs.python.org/library/codecs.html#standard-encodings

相关问题 更多 >