首页编程url编码 什么是url编码

url编码 什么是url编码

编程之家2023-11-01217次浏览

老铁们,大家好,相信还有很多朋友对于url编码和什么是url编码的相关问题不太懂,没关系,今天就由我来为大家分享分享url编码以及什么是url编码的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

url编码 什么是url编码

url的编码和解码方式

url的在线编码和解码工具: http://tool.chinaz.com/tools/urlencode.aspx

1、基本知识

URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、 Google等搜索引擎中输入中文查询时候,生成经过 Encode过的网页URL。URLEncode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是基于UTF-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decode。

url编码 什么是url编码

中文-> GB2312的Encode->����

中文-> UTF-8的Encode->中文

Html中的URLEncode:

url编码 什么是url编码

编码为GB2312的html文件中,

http://ud03.kinoko.name/中文.rar->浏览器自动转换为-> http://ud03.kinoko.name/����.rar

注意:Firefox对GB2312的Encode的中文URL支持不好,因为它默认是UTF-8编码发送URL的,但是ftp://协议可以,我试过了.我认为这应该算是Firefox一个bug.

编码为UTF-8的html文件中,

http://ud03.kinoko.name/中文.rar->浏览器自动转换为-> http://ud03.kinoko.name/中文.rar

PHP中的URLEncode:

//GB2312的Encode

echo urlencode(“中文-_.“).”\n”;//����-_.+

echo urldecode(“����-_.“).”\n”;//中文-_.

echo rawurlencode(“中文-_.“).”\n”;//����-_.

echo rawurldecode(“����-_.“).”\n”;//中文-_.

?>

除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。

urlencode和rawurlencode的区别:

urlencode将空格则编码为加号(+)

rawurlencode将空格则编码为加号()

如果要使用UTF-8的Encode,有两种方法:

一、将文件存为UTF-8文件,直接使用urlencode、rawurlencode即可。

二、使用mb_convert_encoding函数。

$url=‘http://ud03.kinoko.name/中文.rar’;

echo urlencode(mb_convert_encoding($url,‘utf-8′,‘gb2312′)).”\n”;

echo rawurlencode(mb_convert_encoding($url,‘utf-8′,‘gb2312′)).”\n”;

//http://ud03.kinoko.name/中文.rar

?>

实例:

function parseurl($url=”")

{

$url= rawurlencode(mb_convert_encoding($url,‘gb2312′,‘utf-8′));

$a= array(“:”,“/”,“@″);

$b= array(“:”,“/”,“@”);

$url= str_replace($a,$b,$url);

return$url;

}

$url=”ftp://ud03:password@ud03.kinoko.name/中文/中文.rar”;

echo parseurl($url);

//ftp://ud03:password@ud03.kinoko.name/����/����.rar

?>

JavaScript中的URLEncode:

中文-_.中文-_.

encodeURI不对下列字符进行编码:“:”、“/”、“;”、“?”、“@”等特殊字符。

http://ud03.kinoko.name/中文.rarhttp://ud03.kinoko.name/中文.rar

2、示例

http://canvas.gdt.qq.com/canvas/1?viewid=%12%0C%08%E1%98%B7%CD%CB%DC%14%20%E4%A5%01%18%FF%89%18&ckn=91142321196129

1)utf-8解码

http://canvas.gdt.qq.com/canvas/1?viewid=�ᘷ����������&ckn=91142321196129

2)gb2312解码

http://canvas.gdt.qq.com/canvas/1?viewid=�针吠塑�浈��?&ckn=91142321196129

怎么对url连接进行URL 编码

在js中可以使用escape(), encodeURL(), encodeURIComponent(),三种方法都有一些不会被编码的符号:

escape():@*/+

encodeURL():!@#$&*()=:/;?+'

encodeURIComponent():!*()'

在java端可以使用URLDecoder.decode(“中文”,"UTF-8");来进行解码

但是由于使用request.getParameter()来获取参数时已经对编码进行了一次解码,所以一般情况下只要在js中使用

encodeURIComponent("中文");

在java端直接使用request.getParameter()来获取即可返回中文。

如果你想在java端使用URLDecoder.decode(“中文”,"UTF-8");来解码也可以在js中进行二次编码,即:

encodeURIComponent(encodeURIComponent("中文"));

如果不进行二次编码的话,在java端通过decode方法取的会是乱码。

什么是urlencode编码

不是很理解你的意思

从HTTP协议来讲,一个标准的URL是有固定的编码方式的,它只能包含固定的字符集

比如你输入一个网址

http://www.baidu.com/s?wd=我&cl=3,在访问这个网址的时候

网络上传输的时候,‘我’这字会变成%CE%D2这种编码

网站收到你这个网址的时候,再把%CE%D2转换成‘我’字才能理解你这个网址的意思

什么是url编码

",双引号的url编码。

url编码:一种浏览器用来打包表单输入的格式。

浏览器从表单中获取所有的name和其中的值,将它们以name/value参数编码(移去那些不能传送的字符,将数据排行等等)作为URL的一部分或者分离地发给服务器。

不管哪种情况,在服务器端的表单输入格式样子象这样:theName=Ichabod+Crane&gender=male&status=missing&;headless=yes。

扩展资料:

URL编码遵循下列规则:

每对name/value由&;符分开;每对来自表单的name/value由=符分开。

如果用户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括=,&;,和%这些特殊的字符。

其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。

比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。

URL中使用中文等非ASCII的字符造成服务器后台程序解析出现乱码的问题:

常见出错部分:

Query String中的参数值;

servlet path。

常见出错原因:

浏览器:客户端(浏览器)本身并没有遵循URI编码的规范。

Servlet服务器:Servlet服务器的没有正确配置。

开发人员并不了解Servlet的规范和API的含义。

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

503错误,出现503错误 怎么办企业推广网,公司如何做网络推广