使用 python 进行简单的 ascii url 编码

2024-04-17

看那个:

import urllib
print urllib.urlencode(dict(bla='Ã'))

输出是

bla=%C3%BC

我想要的很简单,我想要 ascii 格式的输出而不是 utf-8 格式的输出,所以我需要输出:

bla=%C3

如果我尝试:

urllib.urlencode(dict(bla='Ã'.decode('iso-8859-1')))

不起作用(我所有的 python 文件都是 utf-8 编码的):

'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

在生产中,输入是 unicode。


看一下python中的unicode音译 http://www.tablix.org/~avian/blog/archives/2009/01/unicode_transliteration_in_python/:

from unidecode import unidecode
print unidecode(u"\u5317\u4EB0")

# That prints: Bei Jing

在你的情况下:

bla='Ã'
print unidecode(bla)
'A'

这是一个第三方库,可以通过以下方式轻松安装:

$ git clone http://code.zemanta.com/tsolc/git/unidecode
$ cd unidecode
$ python setup.py install
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python 进行简单的 ascii url 编码 的相关文章

随机推荐