• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

jquery如何编码和解码url?

jquery 搞代码 4年前 (2021-12-27) 45次浏览 已收录 0个评论

jquery如何编码和解码url?下面本篇文章给大家介绍一下用jquery编码和解码url的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

在jQuery中,我们可以使用以下方法实现URL的编码和解码:

  • encodeURIComponent(url) :可把字符串作为 URI 组件进行编码。

  • decodeURIComponent(url):可对 encodeURIComponent() 函数编码的 URI 进行解码。

示例:使用 encodeURIComponent()和decodeURIComponent() 对编码后的 URI 进行编码和解码:

<script>
var uri="https://www.gaodaima.com/qa/jquery/";
var uri_encode=encodeURIComponent(uri);
document.write(uri_encode);
document.write(&q<span style="color:transparent">来源gaodai#ma#com搞*代#码网</span>uot;<br>");
document.write(decodeURIComponent(uri_encode));
</script>

输出:

https%3A%2F%2Fwww.gaodaima.com%2Fqa%2Fjquery%2F
https://www.gaodaima.com/qa/jquery/

拓展:对Url中的非法字符进行编码

Url编码通常也被称为百分号编码(Url Encoding,also known as percent-encoding),是因为它的编码方式非常简单,使用%百分号加上两位的字符——0123456789ABCDEF——代表一个字节的 十六进制形式。Url编码默认使用的字符集是US-ASCII。例如a在US-ASCII码中对应的字节是0x61,那么Url编码之后得到的就 是%61,我们在地址栏上输入http://g.cn/search?q=%61%62%63,实际上就等同于在google上搜索abc了。又如@符号 在ASCII字符集中对应的字节为0x40,经过Url编码之后得到的是%40。

常见字符的Url编码列表:

保留字符的Url编码
! * " ' ( ) ; : @ &
%21 %2A %22 %27 %28 %29 %3B %3A %40 %26
= + $ , / ? % # [ ]
%3D %2B %24 %2C %2F %3F %25 %23 %5B %5D

对于非ASCII字符,需要使用ASCII字符集的超集进行编码得到相应的字节,然后对每个字节执行百分号编码。 对于Unicode字符,RFC文档建议使用utf-8对其进行编码得到相应的字节,然后对每个字节执行百分号编码。如“中文”使用UTF-8字符集得到 的字节为0xE4 0xB8 0xAD 0xE6 0x96 0x87,经过Url编码之后得到“%E4%B8%AD%E6%96%87”。

如果某个字节对应着ASCII字符集中的某个非保留字符,则此字节无需使用百分号表示。 例如“Url编码”,使用UTF-8编码得到的字节是0x55 0x72 0x6C 0xE7 0xBC 0x96 0xE7 0xA0 0x81,由于前三个字节对应着ASCII中的非保留字符“Url”,因此这三个字节可以用非保留字符“Url”表示。最终的Url编码可以简化成 “Url%E7%BC%96%E7%A0%81” ,当然,如果你用"%55%72%6C%E7%BC%96%E7%A0%81”也是可以的。

更多web前端开发知识,请查阅 搞代码网 !!

以上就是jquery如何编码和解码url?的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:jquery如何编码和解码url?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址