繁体   English   中英

Url 编码和 HTML 编码的区别

[英]Difference between Url Encode and HTML encode

URL 编码HTML 编码有什么区别?

HTML 编码会转义 HTML 文档中使用的字符串中的特殊字符,以防止与 HTML 元素混淆,例如更改

"<hello>world</hello>" 

"&lt;hello&gt;world&lt;/hello&gt;"

URL 编码对 URL 中的字符串值执行类似的操作,例如更改

"hello+world = hello world"

"hello%2Bworld+%3D+hello+world"

urlEncode 将特殊字符替换为网络浏览器/网络服务器可以理解的字符,以用于寻址......因此是 URL。 例如,空格被替换为 %20、' = %27 等...

请参阅这些参考资料:

HtmlEncode 用 HTML 引擎本身识别的字符串替换特殊字符以呈现页面内容 - 诸如&变成&amp;类的东西&amp; < = &lt; , > = &gt; 这可以防止 HTML 引擎将这些字符解释为 HTML 标记的一部分,从而将它们呈现为字符串。

请参阅此参考:

HTML 和 URL 本质上都是非常受限制的语言 作为一种语言,它们为特定的关键字或运算符添加了含义。 但是,对于这两种语言,关键字几乎总是单个字符。 例如

  • HTML:> 和 <
  • 网址:/ 和:

在每种语言的使用中,虽然有可能以不确保语言含义的方式使用这些结构。 例如,这篇文章包含一个 > 字符。 我不希望它被解释为 HTML,只是文本。

这就是 Encode 和 Decode 方法发挥作用的地方。 这些方法将分别采用一个字符串并将任何将被视为关键字的字符转换为不会被解释为语言的一部分的转义形式。

例如:将 > 传入 HtmlEncode 将返回 &gt;

HTMLEncode 和 URLEncode 处理 HTML 和 URL 中的无效字符,或者更准确地说,需要专门编写才能正确解释的字符。 例如,在 HTML 中,< 和 > 字符用于表示标签。 因此,如果您想编写数学公式,例如 1+1 < 2+2,“<”通常会被解释为标签的开头。 HTMLEncoding 把这个字符变成“&lt;” 这是小于号的编码表示。 URLEncoding 的作用相同,但对于特殊字符不同的 URL,尽管存在一些重叠。

我不知道您使用的是哪种语言,但是例如 PHP手册提供了很好的解释。

网址编码

返回一个字符串,其中除 -_ 之外的所有非字母数字字符。 已替换为百分号 (%) 后跟两个十六进制数字和编码为加号 (+) 符号的空格。 它的编码方式与来自 WWW 表单的发布数据的编码方式相同,即与 application/x-www-form-urlencoded 媒体类型中的方式相同。 这与 » RFC 1738 编码(请参阅 rawurlencode())的不同之处在于,由于历史原因,空格被编码为加号 (+)。

继续阅读

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM