2024-10-04 05:25:53 发布
网友
在拉丁语-1和utf8中,是否存在从utf8到标准化非重音字母的映射?在
我收到的错误包括:
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u010d' in position 4: ordinal not in range(256)
我通过执行以下代码手动解决每个错误。有更好的方法吗?公司名称:
如果您需要将非拉丁语脚本转换为拉丁语的通用方法,ICU transform是最佳选择。有一个Python包装器用于ICU,PyICU(http://pypi.python.org/pypi/PyICU)。但是,如果您只针对单个脚本(看起来您对希腊语特别感兴趣?),映射表是最快的解决方案。尽管你可以写得更简洁些:
#!/usr/bin/python # -*- coding: utf-8 -*- greek_to_latin = {u"Α": u"A", u"Β": u"B", u"Γ": u"G"} # ... latin_string = "".join(greek_to_latin[c] for c in greek_string)
您还可以查看unicodedata模块,它有一种方法来标识字符的类别,识别非ASCII标点符号。在
如果您需要将非拉丁语脚本转换为拉丁语的通用方法,ICU transform是最佳选择。有一个Python包装器用于ICU,PyICU(http://pypi.python.org/pypi/PyICU)。但是,如果您只针对单个脚本(看起来您对希腊语特别感兴趣?),映射表是最快的解决方案。尽管你可以写得更简洁些:
您还可以查看unicodedata模块,它有一种方法来标识字符的类别,识别非ASCII标点符号。在
相关问题 更多 >
编程相关推荐