`
senton
  • 浏览: 206700 次
  • 性别: Icon_minigender_1
  • 来自: 紫禁城
社区版块
存档分类
最新评论

URL编码

    博客分类:
  • Web
阅读更多

什么是URL编码? 当浏览器访问www服务器上的网页文件时,需要使用HTTP协议进行通信,在HTTP协议中,浏览器不能向服务器直接传递某些特殊字符,就必须对这些字符进行URL编码再传送,其规则如下:
 1.将空格转换成加号(+);
 2.对0~9,a~z,A~Z之间的字符保持不变;
 3.对于其他的所有字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在每个十六进制字节前加上一个百分号"%",例如,字符"+"用%2B表示,每个只用GB2312编码的中文字符在内存中的占两个字节,字符"中"用%D6%D0表示.值得注意的是,同一个中文字符在不同的字符集编码方式下,在内存中的编码值也是不一样的,一个字符的URL编码是针对字符在内存中的编码值而言的,采用不同编码的同一个字符的URL编码结果是不一样的.

 在JAVA API中的java.net包中提供了URLEncoder和URLDecoder两个类,供我们方便实现URL编码和解码.下面来看几个小例子:
 1.对于空格也可以直接使用其十六进制编码方式,即用%20表示,而不是转换成+号,按照上面说的第三条,很显然%20是可以解码成空格的.如下两个URL字符串的效果是一样的:
http://www.baidu.com/search.html?name=a+b&password=123
http://www.baidu.com/search.html?name=a%20b&password=123
 2.如果确信URL串中的特殊字符不会引起歧义,也可以不对它们进行编码,例如:
 http://www.baidu.com/search.html?name=中国&password=123
 http://www.baidu.com/search.html?name=%D6%D0%B9%FA&password=123
 上面的两个URL字符串,不管是否对其进行URL编码,结果都是一样的,注意:虽然规定了除数字和英文字符不对其URL编码,但这并不等于必须对其URL编码,只有在有可能引起歧义或冲突时才是必需的.看下面的例子:
如果要传递的name是"中+国",如果不对其进行URL编码,服务器就会认为传过来的是"中 国"."中&国"如果不进行URL编码就传给服务器变成了
 http://www.baidu.com/search.html?name=中&国&password=123
我们知道,&这个字符在URL中是有特殊含义的.所以这个查询字符串的服务器端就被分成三段来解释.这样就不可能达到预期的结果.所以对这样的字符就必须进行URL编码. 

分享到:
评论

相关推荐

    JS实现URL编码转换中文

    ### JS实现URL编码转换中文 在Web开发过程中,经常需要处理URL中的特殊字符,特别是中文字符。由于URL传输限制及浏览器解析原因,中文等非ASCII字符需要被编码为特定格式才能在网络上传输。本文将详细介绍如何使用...

    URL编码 URL编码

    URL编码,全称为统一资源定位符(Uniform Resource Locator)编码,是互联网上用于标识资源的一种标准格式。在HTTP协议中,URL是访问网络资源的重要途径,但有些字符在URL中直接使用时可能会引起问题,因此需要进行...

    C++URL编码和解码

    C++作为一门强大的系统级编程语言,虽然没有内置的URL编码和解码函数,但开发者可以借助标准库和第三方库来实现这些功能。本文将深入探讨C++中如何进行URL编码和解码。 URL(Uniform Resource Locator)是互联网上...

    URL编码解码小程序

    标题中的“URL编码解码小程序”指的是一个工具或软件,其主要功能是处理URL(统一资源定位符)中的编码问题。URL编码是互联网通信中的一种标准化机制,它确保非ASCII字符或特殊字符在URL中能被正确传输和解析。这是...

    PB 进制转换 url编码 urlencode urldecode 数组排序

    自己写的,可能有bug,请大家一块学习 环境为PB12 函数(及参数) 作用 arraysort 对一维数组进行排序 decto 将十进制数字转成其它进制字符串 ...urlencode 将指定字符串以进行指定字符集url编码 涨价了,哈哈

    vb url编码解码vb url编码解码vb url编码解码

    标题和描述中提到的“vb url编码解码”是指在Visual Basic(VB)环境中进行URL编码和解码的过程。URL编码,也称为百分号编码,是一种用于将特殊字符转换为适用于URL格式的编码方式,目的是确保这些特殊字符能够正确...

    汉字转为HTML的URL编码

    搜集了网上的VBA函数,在excel中通过函数将汉字转为两种类型的URL编码,例如将 天空 二字转化为GB2312的“%CC%EC%BF%D5”或者是UTF-8的 “%E5%A4%A9%E7%A9%BA”。方便用于连接转换。VBA相关函数均来自网上,做了小小...

    一个简单url编码解码

    这个名为“一个简单url编码解码”的项目,就是为新手提供了一个理解和实践URL编码与解码机制的实例。 URL编码是根据RFC 3986标准进行的,主要使用百分号(%)表示非ASCII字符或特殊字符的ASCII十六进制值。例如,...

    第04篇:XSS三重URL编码绕过实例1

    本文主要探讨了一个XSS三重URL编码绕过的实例,揭示了在某些情况下,简单的防御措施可能不足以阻止攻击。 首先,我们要理解XSS的基本概念。XSS攻击通常发生在Web应用程序未能正确过滤或转义用户输入的情况下。当...

    url编码转化,将url转化成unicode进行传输

    ### URL编码转换:将URL转换为Unicode进行传输 在互联网技术的应用中,URL(Uniform Resource Locator,统一资源定位符)编码转换是一项基本且重要的技术。本文将深入探讨URL编码转换的相关概念、应用场景以及一个...

    url编码转换器

    URL编码,全称为统一资源定位符(Uniform Resource Locator)编码,是互联网上数据通信的一种标准格式,用于确保数据在传输过程中不受损失或错误地被解释。URL编码的主要目的是解决URL中可能包含的特殊字符,如空格...

    url编码gbk格式

    URL编码,全称为统一资源定位符(Uniform Resource Locator)编码,是互联网上数据通信的一种标准格式,用于将非ASCII字符转换为可以在URL中安全传输的形式。GBK编码是中国大陆广泛使用的汉字编码标准,它包含了GB...

    URL编码解码器

    URL编码遵循统一资源标识符(URI)的规则,其中最常用的是基于百分号(%)的编码方法。每个非ASCII或特殊字符会被替换为"%xy"的形式,其中xy是该字符在UTF-8编码中的两个字节的十六进制表示。例如,空格字符(ASCII...

    URL编码表一览

    ### URL编码表详解 #### 一、概述 URL编码(也称为百分号编码)是一种用于在URL中表示特殊字符的方法。这是因为URL中的某些字符在不同的上下文中可能具有特殊含义,例如空格、斜杠等。为了确保这些字符能正确地被...

    易语言URL编码转换模块源码

    易语言URL编码转换模块源码是一个专为易语言设计的组件,用于处理URL编码和解码的任务。在互联网通信中,URL(统一资源定位符)是网页和其他网络资源的地址,但因为URL中可能包含非ASCII字符或者特殊字符,如空格、...

    unicode格式的字符串进行URL编码

    今天写一个POST程序的时候有一段UNICODE字符串需要进行URL编码后进行提交。但是找遍了精易模块和百度都没有说有这这个命令 让Unicode字符串(易语言里面以字节集表示)直接进行正确的URL编码。所以就自己写了一个...

    URL编码转换工具

    URL编码是互联网上的一种标准编码方式,用于将特殊字符转换为可安全传递的ASCII字符串,以便在URL(统一资源定位符)中使用。这个“URL编码转换工具”就是专门为了帮助开发者解决这个问题而设计的。它能够将URL中的...

    URL编码转换工具 很好用

    在IT行业中,URL编码是一种常见的数据处理方式,特别是在网页开发和服务器通信中。URL(统一资源定位符)编码是确保URL中的特殊字符能在网络传输中正确解析和处理的关键步骤。以下是对“URL编码转换工具”及其相关...

    url加密URL编码 如“exit”编码为“%65%78%69%74”.zip

    在IT领域,URL编码是一种常见的数据处理技术,特别是在网络编程中。这个压缩包文件的标题和描述提及了“url加密”和“URL编码”,实际上,它们指的是同一个概念,即URL编码(URL Encoding)。URL编码是根据统一资源...

Global site tag (gtag.js) - Google Analytics