b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

如何编码和解码URL?为什么要编码

电脑杂谈  发布时间:2020-05-12 16:14:44  来源:网络整理

编码解码区别_编码解码控件_编码解码理论

title: 如何编码和解码URL?为什么要编码

标签: URL

笔记本: 分散的知识

也就是说,URL只能使用英文字母,阿拉伯数字和某些标点符号,而不能使用其他单词和符号,即

仅字母和数字[0-9a-zA-Z],某些特殊符号$ -_. +! *'()[不包括双引号]和一些保留字(空格转换为+),可以直接在URL中使用而无需编码

这意味着编码解码区别,如果URL中包含中文字符,则必须对其进行编码和使用. 但是麻烦的是,标准的国际组织没有指定特定的编码方法,而是将其留给应用程序(浏览器)自行决定. 这导致“ URL编码”成为一个令人困惑的领域.

如果包含中文,则会自动进行编码编码解码区别,例如Chrome和Firefox,“ ut”,“ land”和“ frame” UTF-8编码为“ E7 99 BB E9 99 86 E6 A1 86”,下图分别按顺序显示了“ 3D%E7%99%BB%E9%99%86%E6%A1%86 /%E7%99%BB%E9%99%86%E6%A1%86”在字节前加%的结果:

编码解码理论_编码解码控件_编码解码区别

图片

URL编码通常也称为百分比编码,因为它的编码方法非常简单:

使用%加上两个字符-0123456789ABCDEF-以十六进制形式表示一个字节. URL编码需要做的是将每个非安全ASCII字符替换为“%xx”格式,

对于非ASCII字符,RFC文档建议使用utf-8对其进行编码,以获取相应的字节,然后对每个字节执行百分比编码.

如果“中文”使用UTF-8字符集,则获得的字节为0xE4 0xB8 0xAD 0xE6 0x96 0x87. 网址编码后,您会得到“%E4%B8%AD%E6%96%87”

. +%20

编码解码理论_编码解码控件_编码解码区别

./% 2F

. ?%3F

. %% 25

. #%23

. &%26

JavaScript提供了四种URL编码/解码方法.

decodeURI()//编码

编码解码理论_编码解码控件_编码解码区别

decodeURIComponent()//编码

encodeURI()//解码

encodeURIComponent()//解码

encodeURI方法不会对以下字符进行编码

ASCII字母数字〜! @#$&*()=: /,;? +'

encodeURIComponent方法不会对以下字符进行编码

ASCII字母数字〜! *()'

编码解码区别_编码解码控件_编码解码理论

因此,encodeURIComponent的编码范围比encodeURI大

示例:

原始网址: file: ///用户/ fanmu /桌面/演示/ 3D%E7%99%BB%E9%99%86%E6%A1%86 /%E7%99%BB%E9%99% 86%E6%A1%86.html#

图片

decodeURI('file:///Users/fanmu/Desktop/demo/3D%E7%99%BB%E9%99%86%E6%A1%86/%E7%99%BB%E9%99%86%E6%A1%86.html#')
// 输出结果:"file:///Users/fanmu/Desktop/demo/3D登陆框/登陆框.html#"

decodeURIComponent('file:///Users/fanmu/Desktop/demo/3D%E7%99%BB%E9%99%86%E6%A1%86/%E7%99%BB%E9%99%86%E6%A1%86.html#')
//输出结果为: "file:///Users/fanmu/Desktop/demo/3D登陆框/登陆框.html#"

encodeURI("file:///Users/fanmu/Desktop/demo/3D登陆框/登陆框.html#")
//输出结果为 :"file:///Users/fanmu/Desktop/demo/3D%E7%99%BB%E9%99%86%E6%A1%86/%E7%99%BB%E9%99%86%E6%A1%86.html#"


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-207619-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...