看那个:
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(使用前将#替换为@)