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

Python中的Unicode和(希腊语)变音符号,python,unicode,python-3.3,Python,Unicode,Python 3.3,我正在Python(v3.3)中进行字符串操作,我想知道是否有一种可预测的方法来检测给定字符上添加的变音标记 例如,“α”#ord('α')=945)(希腊语未标记的alpha)和之间是否存在某种关系ᾶ' # ord('ᾶ') = 8118(带扬抑符的希腊字母)和'ω'#ord('ω')=969(希腊未标记的ω)和'ῶ' # ord('ῶ') = 8182(带扬抑符的希腊欧米茄) 是否有任何操作可以清除变音符号?或者添加变音符号,例如在标记长元音时:'ᾱ' # ord('ᾱ') = 8113 谢

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

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

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

谢谢

编辑:我已经使用了
unidecode
软件包和
unicodedata
。我不想简单地规范化字符串;我感兴趣的是了解在幕后发生的字节操作的资源,比如在标准alpha中添加一个扬抑符或一个宏。问这个问题的另一种方式是如何处理
chr(945)#“α”是否成为或与
chr(8113)#有关ᾱ'在一个非常低的层次上?也许我对这个(文本)的想法是完全错误的,我也有兴趣学习它

这个问题实际上与Python没有太多的关系,因为它通常与文本编码有关,但我提到Python只是为了防止它的任何特性发挥作用


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

正如@Jongware和@simeonviser所指出的那样,“Unicode基本上只是一个大的查找表,”所以我要找的东西里面有秘方


标记为已回答——希望这里的直接性将有助于将来有类似问题的人。

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


标记为已回答--希望这里的直接性将有助于将来有类似问题的人。

您可能希望研究Unicode字符串规范化。除此之外,我认为这个问题仍然有点模糊。而且unidecode基本上是一个大的查找表。未注释字符之间没有逻辑关系,acc代码点表是按需创建的(=人们在使用什么)。任何分解都归结为从复制相关数据并将其转换为可访问数据。您可能希望研究Unicode字符串规范化。除此之外,我认为问题仍然有点模糊。此外,unidecode基本上是一个大的查找表。非重音字符、重音和Unicode中的字符。代码点表是按需创建的(=人们在使用什么)。任何分解归结为复制相关数据并将其转换为可访问数据。偶然发现这个问题,建议的可能是值得检查的内容。它的功能包括分解和规范化,这正是您想要在此处使用的。偶然发现这个问题,建议的可能是它的功能包括分解和规范化,这正是您想要在这里使用的。