如何自定义unidecode?

How to customize unidecode?

我正在使用 unidecode 模块替换 utf-8 个字符。但是,有一些字符,例如希腊字母和一些符号,如 Å,我想保留它们。我怎样才能做到这一点?

例如,

from unidecode import unidecode
test_str = 'α, Å ©'
unidecode(test_str)

给出输出 a, A (c),而我想要的是 α, Å (c)

运行 对每个字符单独进行解码。拥有一组用于绕过 unidecode 的白名单字符。

>>> import string
>>> whitelist = set(string.printable + 'αÅ')
>>> test_str = 'α, Å ©'
>>> ''.join(ch if ch in whitelist else unidecode.unidecode(ch) for ch in test_str)
'α, Å (c)'