0

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

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

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

而不是在文件中的 print "é" 中打印原始 unicode 值 \u00E9,这反过来会在网页上显示菱形询问标记。

f = codecs.open(newFilePathAndName(path,filename,language),encoding='raw_unicode_escape', mode='w')
...
f.write(outputString)

当我在脚本中执行“打印”时,它将字符 é 显示为 \xe9

有任何想法吗 ?

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

4

1 回答 1

2

raw_unicode_escape编码确实不为低于 0xFF 的值提供转义;这些值通常不会在原始 python unicode 文字中转义。

改用unicode_escape编码:

>>> print u'\u00e9'.encode('unicode_escape')
\xe9
于 2012-09-11T14:21:31.323 回答