python - Python 中的 Unicode 和(希腊语)变音符号

标签 python unicode python-3.3

我正在使用 Python (v3.3) 进行字符串操作,我想知道是否有一种可预测的方法来检测给定字符上添加的变音标记。

例如,'α' # ord('α') = 945)(希腊语未标记的 alpha)和 'ᾶ' # ord('ᾶ') 之间是否存在某种关系= 8118(带抑扬符号的希腊字母)和 'ω' # ord('ω') = 969(希腊字母无标记 omega)和 'ῶ' # ord('ῶ ') = 8182(带有抑扬符的希腊欧米茄)?

是否可以进行任何操作来清除变音符号?或者添加变音符号,例如标记长元音时:'ᾱ' # ord('ᾱ') = 8113?

谢谢!

编辑:我已经使用了 unidecode 包和 unicodedata。我不只是想标准化字符串;我对了解幕后发生的字节操作的资源感兴趣,例如向标准 alpha 添加抑扬符或长音符号。提出这个问题的另一种方式是,chr(945) # 'α' 如何在非常低的级别上变成或与 chr(8113) # 'ᾱ' 相关?也许我以完全错误的方式思考这个(文本),我也有兴趣学习。

这个问题实际上与 Python 没有太大关系,因为它与一般的文本编码有关,但我提到 Python 只是为了以防万一它的任何特殊性发挥作用。

编辑 2:我还应该补充一点,我对像 unidecode 这样的东西如何工作更感兴趣,而不是目前实际使用它。 unidecode('ῶ')unidecode('ὄ') # 这是一个 omicron,而不是 'o' 都返回 'o',目前,该返回值对我来说不如对 unidecode 模块如何获得该返回值的更高层次的理解那么有帮助。

最佳答案

正如 @Jongware 和 @SimeonVisser 指出的那样,“Unicode 基本上只是一个大的查找表”,因此我所寻找的内容有一些 secret 。

标记为已回答 - 希望这里的直接性能够帮助将来遇到类似问题的人。

关于python - Python 中的 Unicode 和(希腊语)变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20458503/

相关文章:

python - 强制 Django 在逆向时使用 HTTPS URL

IOS 表情符号 unicode 列表

python - PySide GUI 中的应用程序图标

django - 使用 python 3 用 django 创建 PDF

python - 计算平方根的逻辑思维

python - 从 GAE 开发服务器中拒绝访问模块

python - 在 python 中使用 webkit 加载本地文件时出现问题

python - doc2vec:性能测量和 'workers' 参数

unicode - 清理 Unicode 输入的最佳实践

python - 如何在中文Python中比较unicode类型和str类型?