如何在python 2.7和python 3.2中解码url到windows-1251? 例如:
a = "пример"
urllib.quote_plus(a)
'%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80' (unicode)
如何在windows-1251中制作它(%EF%F0%E8%EC%E5%F0)
答案 0 :(得分:4)
永远不要使用没有'u'前缀的“国际”字符串。没有它,你的“字符串”只是一大块字节而python不知道如何处理它。使用前缀,一切都很简单:
a = u"пример"
print urllib.quote_plus(a.encode('utf8'))
## %D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80
print urllib.quote_plus(a.encode('cp1251'))
## %EF%F0%E8%EC%E5%F0