python 实现 urlencode 与 urldecode (中文及特殊字符编解码)
2014-10-09 19:42
417 查看
这里说的urlencode非python自带的urlencode是与
http://tool.chinaz.com/Tools/URLEncode.aspx 相同功能的函数
初学python 风格较烂 勿喷。
运行 python XX.py
结果如下:
原始字符串:sanya.ganji.com/huangye/a3/s/c/_大众
编码字符串:sanya.ganji.com%2Fhuangye%2Fa3%2Fs%2Fc%2F_%E5%A4%A7%E4%BC%97
编码解码字符串:sanya.ganji.com/huangye/a3/s/c/_大众
http://tool.chinaz.com/Tools/URLEncode.aspx 相同功能的函数
初学python 风格较烂 勿喷。
# -*- coding: UTF-8 -*- #编码 def urlencode_pl(inputs_str): len_str=len(inputs_str) if str=="" or len_str<=0: return "" index_j=0 index_i=0 result_end="" for index_i in range(0,len_str): index_sb=index_i+1 chs=inputs_str[index_i:index_sb] if (chs>='A' and chs<'Z') or (chs>='a' and chs<'z') or (chs>='0' and chs<'9'): if result_end=="": result_end=chs else: result_end+=chs elif chs==' ': result_end+='+' elif chs=='.' or chs=='-' or chs=='_' or chs=='*': result_end+=chs else: result_end='%s%%%02X' % (result_end,ord(chs)) return result_end #解码 def urldecode_pl(srcstr): dststr="" leng=len(srcstr) temp1="" temp2="" i=0; while i<leng: temp1="\0"; temp2="\0"; if(srcstr[i:i+1]!="%" and srcstr[i:i+1]!="+"): dststr=dststr+srcstr[i:i+1]; i=i+1; continue elif(srcstr[i:i]=="+"): dststr=dststr+" "; i=i+1; continue temp1=srcstr[i+1:i+2]; temp2=srcstr[i+2:i+3]; sb1=0; sb2=0; if(cmp(temp1,"A")>=0): sb1=7; if(cmp(temp1,"a")>=0): sb2=32; temp1=ord(temp1)-48-sb1-sb2 sb1=0; sb2=0; if(cmp(temp2,"A")>=0): sb1=7; if(cmp(temp2,"a")>=0): sb2=32; temp2=ord(temp2)-48-sb1-sb2 dststr=dststr+chr(temp1*16+temp2); i=i+3; return dststr; #main函数 if __name__ == '__main__': strs="sanya.ganji.com/huangye/a3/s/c/_大众" print strs str2=urlencode_pl(strs); print str2; str3=urldecode_pl(str2) print str3; str4=urldecode_pl(strs) print str4
运行 python XX.py
结果如下:
原始字符串:sanya.ganji.com/huangye/a3/s/c/_大众
编码字符串:sanya.ganji.com%2Fhuangye%2Fa3%2Fs%2Fc%2F_%E5%A4%A7%E4%BC%97
编码解码字符串:sanya.ganji.com/huangye/a3/s/c/_大众
相关文章推荐
- c++ 实现url的转码与解码 urlencode urldecode
- Robot Framework RIDE中的字符转换、中文、python的gbk解码 unicode('${org_name}',"utf-8")
- Python中urllib.urlencode中文字符的一个问题
- python替换UTF-8编码文本中任意特殊字符,包括中文符号
- java web url编码与解码--中文乱码和特殊字符转义问题
- 利用python3随机生成中文字符的实现方法
- am start的总结,-d参数的总结,以及python中传递内容包含中文及特殊字符&的解决方案
- 中文字符 unicode转utf-8函数 python实现
- URL传递中文字符,特殊危险字符的解决方案(仅供参考)urldecode、base64_encode
- python替换UTF-8编码文本中任意特殊字符,包括中文符号问题:大量文本,将其中的特殊字符用空
- js Jquery字符UrlEncode 编码、解码 --C#UrlEncode cookies存 中文
- python 处理中文网页时,忽略特殊字符,忽略异常
- URL传参带特殊字符,js中对中文编码解码
- php通过urlencode转码传到前端,用js解码后特殊字符无法解码
- python实现readline去掉换行符\n等特殊字符
- InputFilter实现EditText过滤中文字符、空格等特殊字符
- 【腾讯TMQ】Python2中的中文字符编解码浅析
- python实现中文字符繁体和简体中文转换
- python实现中文字符繁体和简体中文转换
- Python中urllib.urlencode中文字符的一个问题