我想编写以下代码:
import string
frm = b'acdefhnoprstuw'
to = 'אקדיפהנופרסתאו'
trans_table = string.maketrans(frm, to)
hebrew_phrase = 'fear cuts deeper than swords'.translate(trans_table)
上面的代码不起作用,因为to
参数 tostring.maketrans(frm, to)
必须是字节序列,而不是字符串。问题是字节序列只能包含 ASCII 文字字符。因此,我无法进行将英语字符串翻译成希伯来语字符串的转换。原因是它会string.maketrans()
返回一个字节对象。
有没有一种优雅的方式来为我的任务使用string.maketrans()
andtranslate()
函数(或与 unicode 一起工作的等效函数)?