Python有一些很好的库可以将Unicode重音字符转换为最接近的Ascii字符,也有一些库可以将代码点编码为Unicode字符。
但是,有哪些选项可以检查字符串是否具有unicode代码点或HTML转义?例如,这个字符串:
Rialta te VeniceÇ
有Ç
,它翻译成拉丁大写字母C。有没有python库可以检测字符串中的代码点/转义并输出Unicode等效代码?
我不太清楚你在问什么,但这是我最好的尝试:
-
Ç
是一个HTML转义,您可以像这样取消转义:>>> s = 'Rialta te VeniceÇ' >>> import html >>> s2 = html.unescape(s); s2 'Rialta te VeniceÇ'
-
正如您所说,有一些库用于规范化/删除重音:
>>> import unidecode >>> unidecode.unidecode(s2) 'Rialta te VeniceC'
您不需要检查它是否有Unicode代码点,因为此函数不会更改非重音字符。但是您可以使用
s2.isascii()
进行检查。
所以完整的解决方案是使用unidecode.unidecode(html.unescape(s))
。