【发布时间】:2019-03-27 21:48:51
【问题描述】:
目前我的代码如下:
import unicodedata
unicode = open("unicode.txt").read()
unicode = unicodedata.normalize('NFKC', unicode)
print(unicode)
其中unicode.txt 是一个文本文件,简单地读取\u00e9。
当我运行程序时,输出仍然是\u00e9,但是,如果我将.normalize 行中的unicode 替换为\u00e9,则输出是é。
最终目标只是用常规字符替换所有 unicode 字符串(例如 \u00e9)。喜欢cafe 而不是café。
将字符串输入到函数中时,规范化函数似乎可以正常工作,但在要打开的文件中时却不行。即使这样,它似乎也返回了程式化的é,而不是普通的e。
有什么办法可以做到吗?
【问题讨论】:
-
我不太确定:您要进行哪种转换? a)
\u00e9→é, b)é→e, c)\u00e9→e?马克的回答可以帮助您 a)。转换 b) 称为音译(不是规范化),unidecode包可以帮助您。对于 c),结合 a) 和 b)。