urlencode_urlencoder - CSDN
  • 为什么要 urlencode()

    2017-12-25 12:00:52
    因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urlencode 函数,因为 url 中不能包含 @ 字符。           3.url转义其实也只是为了符合url的规范而已。因为在标准的url规范中...
    1.是因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符

    2.

    因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urlencode 函数,因为 url 中不能包含 @ 字符。

     

     

     

     

     

    3.url转义其实也只是为了符合url的规范而已。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。

     

     

     

     

    看一下php的urlencode的说明:
    urlencode — 编码 URL 字符串
    string urlencode ( string $str )
    返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页。
    哪些字符是需要转化的呢?
    1. ASCII 的控制字符
    这些字符都是不可打印的,自然需要进行转化。
    2. 一些非ASCII字符
    这些字符自然是非法的字符范围。转化也是理所当然的了。
    3. 一些保留字符
    很明显最常见的就是“&”了,这个如果出现在url中了,那你认为是url中的一个字符呢,还是特殊的参数分割用的呢?
    4. 就是一些不安全的字符了。
    例如:空格。为了防止引起歧义,需要被转化为“+”。
    明白了这些,也就知道了为什么需要转化了,而转化的规则也是很简单的。

    按照每个字符对应的字符编码,不是符合我们范围的,统统的转化为%的形式也就是了。自然也是16进制的形式。

    和字符编码无关
    通过urlencode的转化规则和目的,我们也很容易的看出,urleocode是基于字符编码的。同样的一个汉字,不同的编码类型,肯定对应不同的urleocode的串。gbk编码的有gbk的encode结果。
    apache等服务器,接受到字符串后,可以进行decode,但是还是无法解决编码的问题。编码问题,还是需要靠约定或者字符编码的判断解决。
    因此,urleocode只是为了url中一些非ascii字符,可以正确无误的被传输,至于使用哪种编码,就不是encode所关心和解决的问题了。
    编码问题,不是urlencode所要解决的。


    展开全文
  • URLEncode

    2018-03-13 16:37:57
    后台要是想把汉字作为键值对放在url上面传给nodejs的前端路由,想要正确获得汉字的url键值对,那么需要后台用URLEncode 进行编码和转码。 例如

    后台要是想把汉字作为键值对放在url上面传给nodejs的前端路由,想要正确获得汉字的url键值对,那么需要后台用URLEncode 进行编码和转码。
    例如
    这里写图片描述

    展开全文
  • urlencode在url中的作用

    2019-09-21 20:20:43
    urlencode编码能解决特殊字符的传输问题。 使用urlencode主要用于正常识别输入的汉字、空格以及其他特殊字符。 列如: 一产品名称为A&TPlastic,在产品列表中就产生了这样的一个联接<ahref="product.asp?...

    urlencode编码能解决特殊字符的传输问题。

    使用urlencode主要用于正常识别输入的汉字、空格以及其他特殊字符。

    列如:

    一产品名称为A&T Plastic,在产品列表中就产生了这样的一个联接<a href="product.asp?name=A&T Plastic">A&T Plastic</a>,在服务器端接收此参数的时候怎么也无法接收到准确的产品名。
    -->用urlencode方法
    特殊特殊字符的含义
    ————————————————————————————
    字符 特殊字符的含义 URL编码
    # 用来标志特定的文档位置 %23
    % 对特殊字符进行编码 %25
    & 分隔不同的变量值对 %26
    + 在变量值中表示空格 %2B
    \ 表示目录路径 %2F
    = 用来连接键和值 %3D
    ? 表示查询字符串的开始 %3F

    当键值中含有以上列表中的一些字符时就无法准确的接收其中的值。

    转载于:https://www.cnblogs.com/swing07/p/5139834.html

    展开全文
  • 为什么要urlencode()

    2019-04-19 14:53:00
    url对字符有限制,比如把一个邮箱放入url,就需要使用urlencode函数。 3.。url转义其实也只是为了符合url的规范而已。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。 urlencode的说明: ur...

    why

    1.。当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符串的

    2.。url对字符有限制,比如把一个邮箱放入url,就需要使用urlencode函数。

    3.。url转义其实也只是为了符合url的规范而已。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。

            urlencode的说明:

                    urlencode ( string $str ) : string

                    此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页。

                    参数

                         str 要编码的字符串

                    返回值

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

    空格则编码位加号(+)。此编码与www表单post数据的编码方式是一样的,同时与application/x-www-form-urlencoded的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与RFC3986编码不同。

     

    哪些字符是需要转化的呢?

    1.。ASCII的控制字符

            这些字符都是不可打印的,自然需要进行转化。

    2.。一些非ASCII字符

            这些字符自然是非法的字符范围。转化也是理所当然的了。

    3.。一些保留字符

            很明显最常见的就是“&”了,如果这个出现在url中,那你认为是url中的一个字符呢,还是特殊的参数分割符呢?

    4.。一些不安全的字符

            例如:空格。为了防止引起歧义,需要被转化为“+”。

     

    明白了这些,也就知道了为什么需要转化了,而转化的规则也是很简单的。

            按照每个字符对应的字符编码,不是符合我们范围的,统统的转化为 % 的形式,自然也是16进制的形式。

     

    和字符编码无关

            通过urlencode的转化规则和目的,我们也很容易的看出,urlencode是基于字符编码的同样的一个汉字,不同的编码类型,肯定对应不同的urlencode的串。gbk编码有gbk的encode结果。

            apache等服务器,接收到字符串后,可以进行decode,但是还是无法解决编码的问题。编码的问题,还是需要靠约定或者字符编码的判断解决。

            因此,urlencode只是为了url中一些非ASCII字符,可以正确无误的被传输,至于使用哪种编码,就不是urlencode所关心和解决的问题了。

     

     

     

     

            

     

     

     

              

     

                           

    展开全文
  • web客户端通过http post提交数据到web服务端,其中一个字段名是content, 部分js代码如下: var xmlHttp = new XMLHttpRequest(); xmlHttp.open('post', '... xmlHttp.setRequestHeader(...
  • UrlEncode

    2019-06-12 18:33:56
    UrlEncode HTTP协议来讲, 一个标准的URL是有固定的编码方式的,它只能包含固定的字符集 比如你输入一个网址 http://www.baidu.com/s?wd=我&cl=3, 在访问这个网址的时候 网络上传输的时候,‘我’这字会变成%CE...
  • 发现现在几乎所有的网站都对url中的汉字和特殊的字符,进行了urlencode操作,也就是: http://hi.baidu.com/%BE%B2%D0%C4%C0%CF%C8%CB/creat/blog/ 这个样子,中间%形式的,肯定就是我的登录用户名称了吧。 为...
  • 为什么要URLEncode

    2019-04-13 12:41:28
    URL的构成字符必须是可写的 ASCII 字符。那么,什么是 ASCII 字符?... 回到主题,为什么我们在很多时候,或者调用第三方接口的时候,需要对 URL 进行 Encode 编码,因为在我们的 URL 中可能会涉及中文、特殊字符等 ...
  • 当url地址含有中文,或者参数有中文的时候,这个算是很正常了,...urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如: >>> from urllib impo
  • 在调试过程中,发现js的urlencode与java的urlencode有一些细微的差异(坑)。 + nodejs中的“+”会被编码成“%20”,而java中的“+”会被编码成空字符串,即去掉。 !、’、(、)、~ 以上这些符号,nodejs...
  • java中URLEncode和URLDecode

    2016-02-15 11:14:36
    URLEncode和URLDecode用于完成普通字符串和 application/x-www-from-urlencoded MIME字符串之间的相互转化  如果传递的字符串中包含非西欧字符的字符串,会被转化成%XX%XX XX为十六进制的数字 try { // ...
  • urlencode用法与误区

    2019-01-11 14:59:13
    urlencode()可以将非数字或者字母进行转换,比如转换中文字符,"/"等。转换后传值不会出错。  但是有以下误区常容易犯:  1.网页编码不同,urlencode后得到的值不同,这个时候需要将要转换的字符用...
  • urlencode 在1994年订立的RFC1738中。 对字符串中除了-_.三个字符之外的所有非字母数字字符都替换成百分号(%)后跟两位十六进制数。 十六进制数中字母必须为大写。 http://tools.ietf.org/html/rfc1738 在2005年定义...
  • 关于UrlEncode的实现(C++),网上有很多不同的版本,对需要编码的字符集的选取并不统一。那么到底有没有标准呢?答案是有的,参见wiki  绝对不编码的,只有字母、数字、短横线(-)、下划线(_)、点(.)和波浪号(~),...
  • urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符!...
  • 爬虫_urlencode问题

    2019-04-02 17:23:12
    中文部分进行了urlencode,尝试用 python的urllib.parse 的unquote解析一下,发现打印出来的是乱码,看了一下网站的编码是gbk,猜测这个应该是gbk编码的字符串urlencode之后的 unquote('%CC%EC%CC%...
  • 本文介绍了php函数urlencode的js实现方法并比较js和php各编码函数的区别。 通常form表单的enctype类型为 application/x-www-form-urlencoded, 当表单提交后,提交的数据自动被编码, 规则为" 除了 -_. 之外的...
  • urlencode,urldecode详解

    2019-07-27 21:35:26
    urlencode :将目标字符串按照特定的编码(比如utf-8、gb2312) 解码成byte数组, 然后对除这些字符集(a-z,A-Z,\,(,),*,-,.,_,!) 之外的所有字节(8位)转换成%加16进制字符,其中空格特殊处理将转换成+号。 比如...
  • js中 urlencode编码

    2018-12-28 13:36:29
    js中 urlencode编码 encodeURIComponent(编码的具体内容) 解码 decodeURIComponent(解码码的具体内容) 原理:对URL的组成部分进行个别编码,而不用于对整个URL进行编码 ...
  • 控制台或Winform程序中如何编码或解码Server.URLEncode2010年07月10日 星期六 23:03在Asp.net中可以使用Server.HTMLEncode和Server.URLEncode 将文本或URL的特殊字符编码,但在控制台或Winform程序中没有办法使用到...
1 2 3 4 5 ... 20
收藏数 64,437
精华内容 25,774
关键字:

urlencode