URL一般只能由字母、数字、$ - _ . + ! * ' ( ) 等一些字符构成。那么当URL中需要用到汉字时怎么办,譬如有这样的URL: "www.test.com/search?name=张三",此时,只有通过将URL进行编码的方式进行传递了。
Javascript编/解码方法:
1、escape <----> unescape
2、encodeURI <----> decodeURI
3、encodeURIComponent <----> decodeURIComponent
如果对上面的URL(www.test.com/search?name=张三)进行编码的话。
1、escape 编码后生成:"www.test.com/search%3Fname%3D%u5F20%u4E09"
2、encodeURI 编码后生成:"www.test.com/search?name=%E5%BC%A0%E4%B8%89"
3、encodeURIComponent 编码后生成:"www.test.com%2Fsearch%3Fname%3D%E5%BC%A0%E4%B8%89"
可以看出,三者的编码结果不尽相同,其中 escape 对除了ASCII字母、数字、标点符号 @ * _ + - . / 以外的字符进行编码,而编码生成的是Unicode编码值; encodeURI 对除了ASCII字母、数字、标点符号 @ * _ + - . / ; ? : & = + $ , # 以外的字符进行编码,而编码生成的是utf-8的编码值; encodeURIComponent 对ASCII字母、数字、标点符号 * _ + - . 以外的字符进行编码,而编码生成的是utf-8的编码值。
三种编码方式中 escape 用的较少了,而阮一峰如是说: encodeURI 和 encodeURIComponent 之间比较大的区别是后者用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。但除了上面说的 encodeURIComponent 要比 encodeURI 编码的字符多一些,我还真没看出来他说的这个区别在哪里。要说这两种哪种较好,我个人更倾向于 encodeURI ,因为经过它编码后,我还能清楚的看出来这个 URL 带有查询条件的。所以,我需要用的时候,应该非 encodeURI 莫选了。
more:
[url=http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html] escape()、encodeURI()、encodeURIComponent()区别详解 [/url]
[url=www.ruanyifeng.com/blog/2010/02/url_encoding.html] 关于URL编码 [/url]
分享到:
相关推荐
本文将深入探讨URL编码的原理、规则以及在实际应用中的重要性。 URL编码主要遵循以下规则: 1. 在URL中,非字母数字字符(即除了A-Z,a-z,0-9)和一些特殊字符如"-", "_", ".", "*", "~"之外的字符都需要被编码。...
本文将详细介绍如何使用JavaScript进行URL编码转换,并提供一个具体的示例来帮助理解这一过程。 #### 一、URL编码基础知识 URL编码(也称为百分号编码)是一种机制,用于将特殊字符(如空格、中文字符等)转换为...
本文将深入探讨C++中如何进行URL编码和解码。 URL(Uniform Resource Locator)是互联网上的资源定位器,它包含了访问方式(如HTTP、HTTPS等)、服务器地址以及资源路径等信息。然而,URL中可能包含一些特殊字符,...
### URL编码转换:将URL转换为Unicode进行传输 在互联网技术的应用中,URL(Uniform Resource Locator,统一资源定位符)编码转换是一项基本且重要的技术。本文将深入探讨URL编码转换的相关概念、应用场景以及一个...
URL编码,也称为百分号编码,是一种用于将特殊字符转换为适用于URL格式的编码方式,目的是确保这些特殊字符能够正确地在网络上传输。URL解码则是这一过程的逆操作,即将编码后的字符串转换回原始的字符。 ### VB中...
描述中的“可以在字符(ASCII、Unicode)和URL编码之间相互转换”揭示了该程序的两个核心功能:一是将ASCII或Unicode编码的字符转化为URL编码格式,二是将URL编码的字符串还原为原始的ASCII或Unicode字符形式。...
本文将深入探讨URL编码与解码的概念,以及如何在编程中实现这些操作。 URL编码是将URL中可能引起问题的字符转换为ASCII字符集的等效百分号编码。这包括空格、非ASCII字符以及某些特殊字符,如大括号、引号、尖括号...
在这个“url编码转换器”中,我们可以看到它主要服务于将这些特殊字符转换为它们在网络传输中安全的表示形式。 在URL中,非字母数字的字符通常会被转换为"%xy"的形式,其中xy是该字符在ASCII码表中的16进制表示。...
URL编码,全称为统一资源定位符(Uniform Resource Locator)编码,是互联网上数据通信的一种标准格式,用于将非ASCII字符转换为可以在URL中安全传输的形式。GBK编码是中国大陆广泛使用的汉字编码标准,它包含了GB...
自己写的,可能有bug,请大家一块学习 环境为PB12 函数(及参数) 作用 arraysort 对一维数组进行排序 decto 将十进制数字转成其它进制字符串 ...urlencode 将指定字符串以进行指定字符集url编码 涨价了,哈哈
这个名为“一个简单url编码解码”的项目,就是为新手提供了一个理解和实践URL编码与解码机制的实例。 URL编码是根据RFC 3986标准进行的,主要使用百分号(%)表示非ASCII字符或特殊字符的ASCII十六进制值。例如,...
本文将深入探讨“C#自动识别URL编码”的主题,帮助开发者解决URL编码带来的乱码问题。 URL编码,也称为百分号编码(Percent-encoding),是统一资源定位符(Uniform Resource Locator, URL)的一部分,用于在非...
URL编码是互联网上的一种标准编码方式,用于将特殊字符转换为可安全传递的ASCII字符串,以便在URL(统一资源定位符)中使用。这个“URL编码转换工具”就是专门为了帮助开发者解决这个问题而设计的。它能够将URL中的...
URL编码是根据统一资源定位符(Uniform Resource Locator)标准,将URL中的特殊字符转换为ASCII字符集的等价形式,以便在网络上传输和解析。在这个例子中,“exit”被编码为“%65%78%69%74”。 URL编码的主要...
在"URL编码解码器"中,用户可以输入已编码的URL字符串,工具会将其解码回原始形式。同样,如果输入的是未编码的字符串,工具则会将其编码为适合在URL中使用的格式。这对于开发者调试HTTP请求、构建动态链接或处理...
例如,Apache Commons Lang库提供了`StringEscapeUtils`类,用于对字符串进行编码和解码,包括URL编码。此外,Java的`java.net.URLDecoder`和`java.net.URLEncoder`类也提供了URL编码和解码的功能。 文件的编码方式...
在IT行业中,URL编码是一种常见的数据处理方式,特别是在网页开发和服务器通信中。URL(统一资源定位符)编码是确保URL中的特殊字符能在网络传输中正确解析和处理的关键步骤。以下是对“URL编码转换工具”及其相关...
本文档将详细介绍URL编码表中的各个元素及其对应的编码形式。 #### 二、基础知识 在深入探讨之前,先了解一些基础概念: - **ASCII码**:ASCII码是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他...
搜集了网上的VBA函数,在excel中通过函数将汉字转为两种类型的URL编码,例如将 天空 二字转化为GB2312的“%CC%EC%BF%D5”或者是UTF-8的 “%E5%A4%A9%E7%A9%BA”。方便用于连接转换。VBA相关函数均来自网上,做了小小...
然而,当双引号经过两次URL编码(%2522)后,服务器并没有将其还原为标准的URL编码形式(%22),而是进一步解码成了实际的双引号(")。这表明服务器端可能在接收参数后,不仅解码了一次URL,还将其直接输出到HTML中...