使用python对url编码解码

url中的query带有特殊字符(不是url的保留字)时需要进行编码。

当url中带有汉字时,需要特殊的处理才能正确编码,以下都只针对这种情形,当然也适用于纯英文字符的url。

(1) url编码:

import urllib

url = ‘http://test.com/s?wd=哈哈‘

url = url.decode(‘gbk‘, ‘replace‘)

print urllib.quote(url.encode(‘utf-8‘, ‘replace‘))

结果: http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88

(2) url解码:

import urllib

encoded_url = ‘http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88‘

print urllib.unquote(encoded_url).decode(‘utf-8‘, ‘replace‘).encode(‘gbk‘, ‘replace‘)

函数调用的参数以及结果都是utf-8编码的,所以在对url编码时,需要将参数串的编码从原始编码转换成utf-8,

对url解码时,需要将解码结果从utf-8转换成原始编码格式

时间: 2024-10-21 00:27:26

使用python对url编码解码的相关文章

用python查看URL编码的中文

什么是URL编码呢,请看https://zh.wikipedia.org/wiki/Urlencode. 有时,我们向一些网站提交中文参数时,中文是会被编码成这种格式的 "%B1%E0%C2%EB ",它的原文是"编 码",URL编码也被称为"百分号编码",是不是有很多百分号.我们常使用的"空格"的URL编码就是 "%20",但是新的 标准把"空格" 替换为 "+",

百度移动版的url编码解码代码

1 var decode = function(m) { 2 try { 3 m = decodeURIComponent(m); 4 } catch(e) {} 5 var s = m.split("%"); 6 if (s.length > 1) { 7 s.shift(); 8 for(var i = 0; i < s.length; i++) { 9 var t = s[i]; 10 t = parseInt(t, 16); 11 t = t + 256; 12 t

编码解码--url编码解码

url编码解码,又叫百分号编码,是统一资源定位(URL)编码方式.URL地址(常说网址)规定了常用地数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通过%xx编码处理. 现在已经成为一种规范了,基本所有程序语言都有这种编码,如js:有encodeURI.encodeURIComponent,PHP有 urlencode.urldecode等.编码方法很简单,在该字节ascii码的的16进制字符前面加%. 如 空格字符,ascii码是32,对应16

ASP.NET中Url编码解码

今天遇到Url编码解码的问题,纠结了一天的时间,结果上网一查才发现太二了我们. 同事写的代码把url用HttpUtility.UrlEncode编码和解码了,本地测试没有问题,部署到服务器上就提示转码失败,查看问题发现转码的时候把“+”转成了“%”,但是解码的时候把“%”装换成了“ ”空格,最后上网查了下很多网友都遇到过这种问题, 最后把HttpUtility.UrlEncode替换成了一下的方式就OK了. var email="15586757225"; string after =

url 编码解码

from urllib import parse#url编码url = 'http://www.baidu.com?query = python基础教程'url_str = parse.quote_plus(url) #quote 跟quote_plus一样的,后者更牛逼,把汉字变成url编码print(url_str) #http%3A%2F%2Fwww.baidu.com%3Fquery+%3D+python%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B#url解码

URL编码解码

ios url 编码和解码 1.url编码 ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是: NSString * encodingString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 2.url解码 请求后,返回的数据,如何显示的是这样的格式:%3A%2F%2F,此时需要我们进行UTF-8解码,用到的方法是: NSString *str = [model.

详解JavaScript中的Url编码/解码,表单提交中网址编码

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape,encodeURI / decodeURI和 encodeURIComponent / decodeURIComponent. 预备知识 foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/ \_______

Google的URL编码解码之delphi

使用google谷歌搜索一下关键词,对应的编码如下:刀:%E5%88%80刀具:%E5%88%80%E5%85%B7刀具网:%E5%88%80%E5%85%B7%E7%9A%84 因此可见,google对URL的编码并非简单的httpencode编码,因为httpencode编码后的字符串应该是带有两个百分号的,而这个是三个百分号.多尝试一下就不难发现googleURL的编码解码规则如下: 1.编码,先UTF8编码,然后再URL编码.       使用delphi编码的方法:加入待编码原始字符串

iOS url 编码解码

1.url编码 ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是: NSString * encodingString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 2.url解码 请求后,返回的数据,如何显示的是这样的格式:%3A%2F%2F,此时需要我们进行UTF-8解码,用到的方法是: NSString *str = [model.album_name str