是否存在从utf8到latin1的现有映射?Python

2024-10-04 05:25:53 发布

您现在位置:Python中文网/ 问答频道 /正文

在拉丁语-1和utf8中,是否存在从utf8到标准化非重音字母的映射?在

我收到的错误包括:

UnicodeEncodeError: 'latin-1' codec can't encode character u'\u010d' in position 4: ordinal not in range(256)

我通过执行以下代码手动解决每个错误。有更好的方法吗?公司名称:

^{pr2}$

Tags: in错误字母notpositionutf8cancodec
1条回答
网友
1楼 · 发布于 2024-10-04 05:25:53

如果您需要将非拉丁语脚本转换为拉丁语的通用方法,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标点符号。在

相关问题 更多 >