用户有时会在程序中使用奇怪的ASCII字符,我想知道是否有办法“规范化”它。
所以基本上,如果输入ᴀʙᴄᴅᴇꜰɢ
,输出将是ABCDEFG
。是否有一个存在于某处的字典可以做到这样的事情?如果没有,是否有一种更好的方法,而不仅仅是为所有不同的“字体”做str.replace("ᴀ", "A")
这样的事情?
这不是一个语言特定的问题 - 如果不存在这样的事情,我想下一步就是自己创建一个字典。
是。
BTW-技术术语是:来自C0控制和基本拉丁语块的拉丁文大写字母和来自语音扩展区块的拉丁字母小大写字母。
无论如何,你的问题的一般主题是Unicode confusables。该链接用于映射。 Uncode.org有更多关于confusables和其他所有Unicode的材料。
(在处理Unicode文本时,标准化始终需要考虑,但它与此问题并不特别相关。)
您的示例似乎涉及unicode字符,而不是ASCII字符。 Unicode normalization(FAQ)是一个庞大而复杂的主题,根据你想要做的事情,有许多不同的等价类字符。