gpt4 book ai didi

Python 3.x : Using string. maketrans() 以创建 unicode 字符转换

转载 作者:太空狗 更新时间:2023-10-29 20:48:10 24 4
gpt4 key购买 nike

我想写下面的代码:

import string
frm = b'acdefhnoprstuw'
to = 'אקדיפהנופרסתאו'
trans_table = string.maketrans(frm, to)
hebrew_phrase = 'fear cuts deeper than swords'.translate(trans_table)

上面的代码不起作用,因为 string.maketrans(frm, to)to 参数必须是字节序列,而不是字符串。问题是字节序列只能包含 ASCII 文字字符。因此,我无法进行将英语字符串翻译为希伯来语字符串的转换。原因是 string.maketrans() 返回一个字节对象。

是否有一种优雅的方式来使用 string.maketrans()translate() 函数(或适用于 unicode 的等效函数)来完成我的任务?

最佳答案

您需要使用 str.maketrans(),它接受两个 str 作为参数。

>>> frm = 'acdefhnoprstuw'
>>> to = 'אקדיפהנופרסתאו'
>>> trans_table = str.maketrans(frm, to)
>>> hebrew_phrase = 'fear cuts deeper than swords'.translate(trans_table)
>>> hebrew_phrase
'פיאר קאתס דייפיר תהאנ סוורדס'

String.maketrans 在 Python 3.1 中仍然存在,但这只是因为他们错过了在 3.0 中将它移动到 bytes.maketrans()。它在 3.1 中已被弃用,在 3.2 中已消失。

关于Python 3.x : Using string. maketrans() 以创建 unicode 字符转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10329290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com