在Python中将非英语单词转换为%分隔的字符串

TJ1*_*TJ1 3 python string replace python-3.x

我有一个像这样的波斯语:word = ???????.如果我运行这个:

word.encode(encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

我在Python IDLE中看到了这个:

b'\xd9\x85\xdb\x8c\xe2\x80\x8c\xd8\xa8\xd8\xa7\xd8\xb4\xd8\xaf'
Run Code Online (Sandbox Code Playgroud)

我想上面的线转换为一个字符串,删除b'和替换所有\x%.所以我想得到这个字符串:

%d9%85%db%8c%e2%80%8c%d8%a8%d8%a7%d8%b4%d8%af    
Run Code Online (Sandbox Code Playgroud)

在Python 3中执行此操作的最佳方法是什么?谢谢您的帮助.

fal*_*tru 7

用途urllib.parse.quote:

>>> import urllib.parse
>>> word = '???????'
>>> urllib.parse.quote(word, encoding='utf-8')
'%D9%85%DB%8C%E2%80%8C%D8%A8%D8%A7%D8%B4%D8%AF'
Run Code Online (Sandbox Code Playgroud)

您可以省略,encoding='utf-8'因为utf-8默认情况下使用编码.