URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),另一种是基于UTF-8的Encode(Google、Yahoo等使用)。
本工具分别实现两种方式的Encode与Decode:
中文 -> GB2312的Encode -> %D6%D0%CE%C4
中文 -> UTF-8的Encode -> %E4%B8%AD%E6%96%87
Html中的URLEncode:
编码为GB2312的html文件中:http://s.jb51.net/中文.rar -> 浏览器自动转换为 -> http://s.jb51.net/%D6%D0%CE%C4.rar
注意:Firefox对GB2312的Encode的中文URL支持不好,因为它默认是UTF-8编码发送URL的,但是ftp://协议可以,我试过了,我认为这应该算是Firefox一个bug。
编码为UTF-8的html文件中:http://s.jb51.net/中文.rar -> 浏览器自动转换为 -> http://s.jb51.net/%E4%B8%AD%E6%96%87.rar
PHP中的URLEncode:
//GB2312的Encode
echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+
echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20
echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
?>
除了“-_.”之外的所有非字母数字字符都将被替换成百分号“%”后跟两位十六进制数。
urlencode和rawurlencode的区别:urlencode将空格编码为加号“+”,rawurlencode将空格编码为加号“%20”。
如果要使用UTF-8的Encode,有两种方法:
一、将文件存为UTF-8文件,直接使用urlencode、rawurlencode即可。
二、使用mb_convert_encoding函数:
$url = 'http://s.jb51.net/中文.rar';
echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."\n";
echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))."\n";
//http%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6%96%87.rar
?>
实例:
function parseurl($url="")
{
$url = rawurlencode(mb_convert_encoding($url, 'gb2312', 'utf-8'));
$a = array("%3A", "%2F", "%40");
$b = array(":", "/", "@");
$url = str_replace($a, $b, $url);
return $url;
}
$url="ftp://ud03:password@s.jb51.net/中文/中文.rar";
echo parseurl($url);
//ftp://ud03:password@s.jb51.net/%D6%D0%CE%C4/%D6%D0%CE%C4.rar
?>
JavaScript中的URLEncode:
如:%E4%B8%AD%E6%96%87-_.%20%E4%B8%AD%E6%96%87-_.%20
encodeURI不对下列字符进行编码:“:”、“/”、“;”、“?”、“@”等特殊字符。
如:http://s.jb51.net/%E4%B8%AD%E6%96%87.rarhttp%3A%2F%2Fs.jb51.net%2F%E4%B8%AD%E6%96%87.rar

如何解决Java开发中的URL解码异常在Java开发中,我们经常会遇到需要解码URL的情况。然而,由于不同的编码方式或者不规范的URL字符串,有时候会出现URL解码异常的情况。本文将介绍一些常见的URL解码异常以及对应的解决方法。一、URL解码异常的产生原因编码方式不匹配:URL中的特殊字符需要进行URL编码,即将其转换为以%开头的十六进制值。解码时,需要使

PHP的urlencode()函数:如何将字符串编码为URL安全格式,需要具体代码示例随着互联网的发展,URL在日常生活中被广泛使用,我们经常需要将一些特殊字符的字符串编码为URL安全格式,以便在URL中传递参数或者请求网页。PHP中提供了urlencode()函数来完成这个任务。本文将介绍urlencode()函数的用法,并给出一些具体的代码示例。一、ur

Python3.x中使用urllib.parse.quote()函数对URL进行编码在网络应用开发中,经常会遇到需要对URL进行编码的情况,这是由于URL中允许的字符有限,而我们需要传递的参数可能包含了特殊字符。Python中的urllib.parse模块提供了quote()函数,可以对URL中的非法字符进行编码,使之成为合法的URL字符串。本文将通过代

Python3.x中如何使用urllib.parse.urlencode()函数对参数进行编码在进行网络编程或者进行HTTP请求时,往往需要对URL中的参数进行编码。而Python中的urllib模块提供了方便的urlencode()函数来进行URL参数的编码。本文将介绍如何在Python3.x中使用urllib.parse.urlencode()函

如何利用PHP函数进行URL编码和解码?在PHP中,URL编码和解码是非常常见的操作。URL编码是将URL中的特殊字符转换为相应的编码值,常见的特殊字符包括空格、斜杠、问号等。而URL解码则是将编码值转换回原始的特殊字符。PHP提供了一系列函数来实现URL编码和解码的功能,本文将介绍常用的urlencode()和urldecode()函数,并给出相应的代码示

使用PHP中的urlencode()函数对URL进行编码的具体代码示例如下:<?php//定义要编码的URL$url="https://www.example.com/search?q=一个中文查询";//对URL进行编码$encodedUrl=urlencode($url);echo"编码前

Python2.x中如何使用urllib.quote()函数对URL进行编码URL中包含了多种字符,包括字母、数字、特殊字符等。为了使URL能够正确地传输和解析,我们需要对其中的特殊字符进行编码。在Python2.x中,可以使用urllib.quote()函数对URL进行编码,下面我们来详细介绍其用法。urllib.quote

在JavaScript中使用encodeURI函数对URL进行编码,我们可以通过以下代码示例来演示://原始URLconsturlString="https://www.example.com/路径/文件.html?参数=值&参数2=值2";//使用encodeURI函数对URL进行编码constencoded


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能