当前位置: 首页 > news >正文

汶上外贸网站建设网络营销专业就业方向

汶上外贸网站建设,网络营销专业就业方向,上海高端网站建设公,广告设计一般用什么软件为什么我复制的中文url粘贴出来会是乱码的? 浏览器url编码和解码 Start 番茄最近涉及到一些和单点登录相关的业务需求,在实现功能的过程中,难免少不了和 url 打交道。但是在打交道的过程中,遇到一个痛点:明明我复制的…

为什么我复制的中文url粘贴出来会是乱码的? 浏览器url编码和解码

Start

  • 番茄最近涉及到一些和单点登录相关的业务需求,在实现功能的过程中,难免少不了和 url 打交道。
  • 但是在打交道的过程中,遇到一个痛点:明明我复制的 url 是一个很简短的url,但是粘贴到浏览器的时候,却变成很长一串。
  • why?

1. 问题场景

举个例子:番茄我突然有一天心血来潮,想要找一个番茄的图片。于是我打开百度,输入番茄,回车搜索。如下图

在这里插入图片描述

可以看到上述截图,我们访问的 url 实际就是 https://www.baidu.com/s?wd=番茄;突然我觉得这个番茄图片特别好看,我想分享给我的小伙伴。于是我复制网站的 url,准备粘贴到我的聊天框中,发送给我的小伙伴。

但是有一个很神奇的现象,我粘贴后的链接,却是这样的:

https://www.baidu.com/s?wd=%E7%95%AA%E8%8C%84

2. 为什么粘贴出来的内容是被转码后的内容呢?

别人的讨论的结果

在这里插入图片描述

可以看到上述的内容,最关键的一个点就是:

因为 URL 本身就不支持中文,所有中文字符都要经过 URL 编码之后才可以传输

如何验证他说的话呢?

打开浏览器控制台,查看 network 选项,刷新页面。在调用接口的时候,发现访问的 url 是被转码后的内容了。如下图:

在这里插入图片描述

所以,转义的原因是:

URl 本身就不支持某些字符,在进行传输的时候,它会经过 URL 编码。

3. 转码相关的疑问

3.1 那些会被转义

对歧义性的数据进行 URL 百分号编码。

3.2 url转义字符原理:

将这些特殊的字符转换成ASCII码,格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。

3.3 URL特殊字符需转义

1、空格换成加号(+)
2、正斜杠(/)分隔目录和子目录
3、问号(?)分隔URL和查询
4、百分号(%)制定特殊字符
5、#号指定书签
6、&号分隔参数

3.4 中文字符转义原理

待补充

4. JS中如何实现解码和编码

4.1 解码

decodeURI()
decodeURIComponent()

4.2 编码

encodeURI()
encodeURIComponent()

4.3 中文解释

decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。

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

4.4 使用示例

/* 1.基础编码 */
console.log(encodeURI('番茄'))
// %E7%95%AA%E8%8C%84
console.log(encodeURIComponent('番茄'))
// %E7%95%AA%E8%8C%84/* 2.encodeURIComponent支持特殊字符的编码 */
console.log(encodeURI('番茄#'))
// %E7%95%AA%E8%8C%84#
console.log(encodeURIComponent('番茄#'))
// %E7%95%AA%E8%8C%84%23/* 3.基础解码 */
console.log(decodeURI('%E7%95%AA%E8%8C%84'))
// 番茄
console.log(decodeURIComponent('%E7%95%AA%E8%8C%84'))
// 番茄/* 4.encodeURIComponent支持特殊字符的解码 */
console.log(decodeURI('%E7%95%AA%E8%8C%84%23'))
// 番茄%23
console.log(decodeURIComponent('%E7%95%AA%E8%8C%84%23'))
// 番茄#

区别: decodeURIComponent() 可以编码和解码URI特殊字符(如#,/,¥等),而 decodeURI()则不能。

End

  • 回想起日常工作中经常使用的截取 url 参数的函数。通常会依据?& 进行参数处理。当时的我就担心,会不会出现多个特殊字符的情况。
  • 在对比思考一下这边博客了解到的内容。才发现,担心的情况是会有的,但是会做特殊转义,避免相关问题了。
  • 加油
http://www.zhongyajixie.com/news/49654.html

相关文章:

  • 做兼职比较好的网站明年2024年有疫情吗
  • 做暖暖的视频网站市场营销方案范文5篇
  • 福田的网站建设公司baidu百度一下
  • 汽车用品网站广州百度关键词搜索
  • 网站推广的方法及特点网络公司主要做哪些
  • 微信网站建设除了百度指数还有哪些指数
  • 自己做网站优化世界杯大数据
  • 动漫做美食的视频网站阿里指数app下载
  • 网站建设手机字体大小软件推广赚钱一个10元
  • 邢台优化网站排名广告网址
  • wordpress升级后编辑器没有太仓seo网站优化软件
  • 宿州市网站建设有哪些公司百度号码认证平台官网
  • 十大电商代运营排名自动app优化
  • 如何在图片上添加文字做网站今年疫情最新消息
  • 招标网哪个网站信息可靠游戏加盟
  • 汾阳做网站的公司必应搜索推广
  • wordpress建站后发布株洲做网站
  • 做网站网页的工作怎么样品牌策划公司排行榜
  • 轻量应用服务器可以做网站吗百度输入法免费下载
  • 政府机关网站建设方案百度图片搜索引擎
  • h5商城网站建站济宁seo公司
  • 做坏事网站企业网络规划与设计
  • 网页特效代码免费网站建立免费网站
  • vi设计手册案例北京seo优化外包
  • 跨境独立站建站怎么开发网站
  • 网站开发项目的心得体会seo的课谁讲的好
  • wordpress还原石家庄网站建设seo
  • 怎么写网站头部和尾部软文广告经典案例100字
  • 营销型网站的基本模板今日国内最新新闻
  • 网站快速收录平台北京出大大事了