如何在python中解码url到windows-1251

时间:2012-03-28 13:16:58

标签: python

如何在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)

1 个答案:

答案 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