微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python unicode 翻译使输入保持不变

如何解决Python unicode 翻译使输入保持不变

我编写了一个用于翻译/音译波斯语字符的 Python 代码。这是翻译表的一大块:

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 表从 unicode ordinals(即整数)映射到序数、字符串或无。使用 str.maketrans 适当地转换字符串到字符串的映射:

>>> string
'ث'
>>> str.maketrans(dictionary)
{1579: 's̱',1580: 'ǧ'}
>>> string.translate(str.maketrans(dictionary))
's̱'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。