URL中的特殊字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URL中的特殊字符相关的知识,希望对你有一定的参考价值。

参考技术A URL无法显示某些特殊符号,这个时候就要使用编码。

编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制)码值。

例如空格的编码值是"%20"。(ASCII参考)

URL中的特殊字符

特殊含义 十六进制 值

1.+表示空格(在URL中不能使用空格)%20

2./分隔目录和子目录%2F

3.?分隔实际的URL和参数%3F

4.%指定特殊字符%25

5.#表示书签%23

6.& URL中指定的参数间的 分隔符 %26

7. = URL中指定参数的值%3D

1.字母数字字符"a"到"z"、"A"到"Z"和"0"到"9"保持不变。

2.特殊字符"."、"-"、"*"和"_"保持不变。

3.空格字符" "转换为一个加号"+"。

4.所有其他字符都是不安全的,因此首先使用一些编码机制将它们转换为一个或多个字节。然后每个字节用一个包含3个字符的字符串"%xy"表示,其中xy为该字节的两位 十六进制 表示形式。推荐的编码机制是 UTF-8 。但是,出于兼容性考虑,如果未指定一种编码,则使用相应平台的默认编码。

如何在表单提交期间删除 URL 中的特殊字符

【中文标题】如何在表单提交期间删除 URL 中的特殊字符【英文标题】:How to remove special characters in URL during Form Submission 【发布时间】:2015-05-27 16:13:00 【问题描述】:

我正在尝试在 PHP 中提交表单期间删除特殊字符。每次我想提交数据时:

<form action="?" method="get">
<input type="text" name="str" value="I want to remove this" />
</form>

浏览器中的输出如下所示

http://localhost/?str=I+want+to+remove+this 

有没有办法在提交之前或提交期间去掉那些“+”?

我的预期结果是

http://localhost/?str=I want to remove this

感谢您的帮助...

【问题讨论】:

【参考方案1】:

在服务器端的url中不能有空格

str=I+want+to+remove+this 

将被读作

str=I want to remove this

仅限。所以我认为你真的不需要担心这种编码。

【讨论】:

以上是关于URL中的特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

url 中的特殊字符 % # & = ? / + 无法被后端解析问题分析及解决方法

URL中的特殊字符处理

url路径中 符号是特殊字符吗

如何对bash中的所有字符(特殊和非特殊)进行url编码[重复]

Vue中js获取url参数,特殊字符的转译、逆转译

经验总结 链接url中各类特殊字符