url编码与字符编码,url地址的编码解码
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!
url的在线编码和解码工具: tool.chinaz.com/tools/urlencode.aspx
URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、 Google等搜索引擎中输入中文查询时候,生成经过 Encode过的网页URL。URLEncode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是基于UTF-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decode。
中文-> GB2312的Encode->����
中文-> UTF-8的Encode->中文
ud03.kinoko.name/中文.rar->浏览器自动转换为-> ud03.kinoko.name/����.rar
注意:Firefox对GB2312的Encode的中文URL支持不好,因为它默认是UTF-8编码发送URL的,但是ftp://协议可以,我试过了.我认为这应该算是Firefox一个bug.
ud03.kinoko.name/中文.rar->浏览器自动转换为-> ud03.kinoko.name/中文.rar
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=‘ud03.kinoko.name/中文.rar’;
echo urlencode(mb_convert_encoding($url,‘utf-8′,‘gb2312′)).”\n”;
echo rawurlencode(mb_convert_encoding($url,‘utf-8′,‘gb2312′)).”\n”;
//ud03.kinoko.name/中文.rar
$url= rawurlencode(mb_convert_encoding($url,‘gb2312′,‘utf-8′));
$url= str_replace($a,$b,$url);
$url=”ftp://ud03:password@ud03.kinoko.name/中文/中文.rar”;
//ftp://ud03:password@ud03.kinoko.name/����/����.rar
encodeURI不对下列字符进行编码:“:”、“/”、“;”、“?”、“@”等特殊字符。
ud03.kinoko.name/中文.rarud03.kinoko.name/中文.rar
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
canvas.gdt.qq.com/canvas/1?viewid=�ᘷ����������&ckn=91142321196129
canvas.gdt.qq.com/canvas/1?viewid=�针吠塑�浈��?&ckn=91142321196129
1、在js中可以使用escape(), encodeURL(), encodeURIComponent(),三种方法都有一些不会被编码的符号:
2、encodeURL():!@#$&*()=:/;?+'
3、encodeURIComponent():!*()'
4、在java端可以使用URLDecoder.decode(“中文”,"UTF-8");来进行解码
5、但是由于使用request.getParameter()来获取参数时已经对编码进行了一次解码,所以一般情况下只要在js中使用
6、在java端直接使用request.getParameter()来获取即可返回中文。
7、如果你想在java端使用URLDecoder.decode(“中文”,"UTF-8");来解码也可以在js中进行二次编码,即:
8、encodeURIComponent(encodeURIComponent("中文"));
9、如果不进行二次编码的话,在java端通过decode方法取的会是乱码。
wwW.Xtw.Com.cN系统网专业的PC、手机系统开发下载平台,HarmonyOS系统、安卓、OS、windows电脑重装系统在线下载安装,操作系统平台技术学习,攻略教程,技术交流。
免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!
联系邮箱:773537036@qq.com