0

すべての異なる言語を処理するために生のユニコードで大量のテキストを出力する素敵なスクリプトを手に入れました。

このスクリプトは、アスキー文字および非ラテン語ベースの言語 (ヒンディー語、中国語など) で正常に動作します。

ただし、「é」「è」などの文字の生の値を出力することはできません...

生の Unicode 値 \u00E9 をファイルの print "é" に出力する代わりに、Web ページにひし形の尋問マークを表示します。

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 に答える