中文转url编码 为什么url中的空格要做转换呢?
为什么url中的空格要做转换呢?
这是URL编码的表示。对于每个字节,它可以由两个十六进制值%表示,后跟ASCII码:根据URL编码,URL中的空格是20,因此URL中的空格是
RL。实际上,转义只是为了符合URL规范。因为在标准的URL规范中,不允许在URL中出现中文和许多字符。
看一下PHP中URLEncode的描述。
URLEncode--encode URL string
]string URLEncode(string$STR)
返回一个字符串,其中-除字符外的所有非字母数字字符。用百分号(%)后跟两个十六进制数字替换,空格用加号()编码。此编码方法与WWW form post data相同,与application/x-WWW-form-urlencoded相同。由于历史原因,这种编码不同于rfc1738编码(参见rawurlen代码()),它将空间编码为加号()。这个函数可以很容易地对字符串进行编码,并将其用于URL的请求部分。它还可以方便地将变量传递到下一页
URL编码遵循以下规则:每对名称/值由&;字符分隔;窗体中的每对名称/值由=字符分隔。如果用户没有为名称输入值,则名称仍会显示,但没有值。任何特殊字符(即不是简单的7位ASCII字符的字符,如中文字符)都将以十六进制编码,并带有%字符。当然,还将包括像=、&;和%这样的特殊字符。实际上,URL编码是字符ASCII码的十六进制。但是,有一个细微的变化,需要在它前面加上“%”。例如“”的ASCII码是92,92的十六进制码是5C,所以“”的URL码是。那汉字的网址编码呢?很简单。让我们看一个例子:Hu的ASCII码是-17670,十六进制码是Bafa,URL码是“”。
为什么要进行url encode?
URLEncode编码:是用URL对字符串进行编码的一种编码方法,主要解决URL中的中文乱码问题。例如:字符串mytext=java.net.url编码器. encode(“China”,“UTF-8”)//URLEncode编码字符串mytext2=java.net.url解码器. decode(mytext,“UTF-8”)//URLEncode对同一页上的两条语句进行解码,结果是:mytext:China,mytex2:China
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。