2009年9月27日星期日

汉字url编码解码解决

根据rfc 2396规定,URL保留字符为reserved= ";" "/" "?" ":" "@" "&" "=" "+" "$" ",",但是这些字符并不是在所有类型的URL中都保留不转化,所以要求使用该函数的时候在转化不同的URL时设置不同的保留字符,其中在任意部分都不转化的字符为:大小写字母,数字, '_','.','-' ,对于汉字,也可以使用,但要加上相应的编码,比如quote(u'蟒蛇'.encode('gb2312')) ,该函数会将所有非保留的字符转化成%xx这样的形式,其中xx为两位的十六进制数。

对于这样的编码解码,用python比较简单

>>> import urllib
>>> print urllib.unquote('%BA%BA%D7%D6+%B1%E0%C2%EB')

就可以

linux下
>>> import urllib
>>> print urllib.unquote('%BA%BA%D7%D6+%B1%E0%C2%EB').decode('GBK')


标签:


评论: 发表评论

订阅 博文评论 [Atom]





<< 主页

This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]