Python unicode 翻译保持输入不变
Python unicode translation leaves input unchanged
我写了一个 python 代码,应该是 translate/transliterate 波斯语字符。这是翻译的一部分 table:
dictionary = {
'\u062B': 's̱',
'\u062C': 'ǧ',
}
'\u062B'是“ث”应该翻译成“s̱”
但是当我 运行 以下内容时:
string = ('\u062B')
print("Original string:", string)
string = ('\u062B')
print("Translated string:", string.translate(dictionary))
我的原始字符串和翻译后的字符串相同:
Original string: ث
Translated string: ث
所以翻译没有发生。我做错了什么?
str.translate
method table maps from unicode ordinals (i.e. integers) to ordinals, strings, or None. Use str.maketrans
适当地转换字符串到字符串的映射:
>>> string
'ث'
>>> str.maketrans(dictionary)
{1579: 's̱', 1580: 'ǧ'}
>>> string.translate(str.maketrans(dictionary))
's̱'
我写了一个 python 代码,应该是 translate/transliterate 波斯语字符。这是翻译的一部分 table:
dictionary = {
'\u062B': 's̱',
'\u062C': 'ǧ',
}
'\u062B'是“ث”应该翻译成“s̱”
但是当我 运行 以下内容时:
string = ('\u062B')
print("Original string:", string)
string = ('\u062B')
print("Translated string:", string.translate(dictionary))
我的原始字符串和翻译后的字符串相同:
Original string: ث
Translated string: ث
所以翻译没有发生。我做错了什么?
str.translate
method table maps from unicode ordinals (i.e. integers) to ordinals, strings, or None. Use str.maketrans
适当地转换字符串到字符串的映射:
>>> string
'ث'
>>> str.maketrans(dictionary)
{1579: 's̱', 1580: 'ǧ'}
>>> string.translate(str.maketrans(dictionary))
's̱'