2014-01-12 36 views
3

我有这样的波斯语单词:word = می‌باشد。 如果我运行此:将非英文单词转换为Python中的%分隔字符串

word.encode(encoding='utf-8') 

我看到这个在Python IDLE:

b'\xd9\x85\xdb\x8c\xe2\x80\x8c\xd8\xa8\xd8\xa7\xd8\xb4\xd8\xaf' 

我想上面的线转换为字符串,消除b'和替换所有\x%。 所以我想这个字符串:

%d9%85%db%8c%e2%80%8c%d8%a8%d8%a7%d8%b4%d8%af  

什么是在Python 3做到这一点的最好方法是什么? 感谢您的帮助。

回答

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' 

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

+0

哇这是一个很好的答案,它的工作,非常感谢你。 – TJ1

相关问题