Python:raw_unicode_escape不';t为“写入原始值”é&引用;

Python:raw_unicode_escape不';t为“写入原始值”é&引用;,python,unicode,encoding,Python,Unicode,Encoding,有一个可爱的脚本,它用原始unicode打印出一堆文本来处理所有不同的语言 该脚本在ascii字符和非拉丁语言(印地语、中文等)中运行良好 但是,它无法打印诸如“锓è”等字符的原始值 而不是将原始unicode值\u00E9打印在文件中的“é”中,该文件会在网页上显示菱形询问标记 f = codecs.open(newFilePathAndName(path,filename,language),encoding='raw_unicode_escape', mode='w') ... f.w

有一个可爱的脚本,它用原始unicode打印出一堆文本来处理所有不同的语言

该脚本在ascii字符和非拉丁语言(印地语、中文等)中运行良好

但是,它无法打印诸如“锓è”等字符的原始值

而不是将原始unicode值\u00E9打印在文件中的“é”中,该文件会在网页上显示菱形询问标记

f = codecs.open(newFilePathAndName(path,filename,language),encoding='raw_unicode_escape', mode='w')
...
f.write(outputString)
当我在脚本中进行“打印”时,它会将字符显示为\xe9

有什么想法吗


唯一让人想到的是放置一个正则表达式,将\xe替换为\u00

原始unicode\u转义编码确实不会为0xFF以下的值提供转义;这些值通常不会在原始python unicode文本中转义

改用
unicode\u转义
编码:

>>> print u'\u00e9'.encode('unicode_escape')
\xe9

读取数据时,请使用正确的编解码器解码数据。在Python2中,您将得到一个
unicode
对象,或者在Python3中得到一个
str
对象。写入数据时,请使用适当的编解码器对其进行编码。当您在某处显示数据时,了解此显示设备需要哪种编解码器是很重要的。此外,您还应该提供一个最简单的代码示例。在您的示例中,我看不出
outputString
来自何处。