首页 > 其他分享 >前端面试题·讲一讲什么是URL编码?

前端面试题·讲一讲什么是URL编码?

时间:2024-04-24 12:11:59浏览次数:25  
标签:编码 面试题 字节 URL URI Url ASCII

前端面试题·讲一讲什么是URL编码?

Url编码通常也被称为百分号编码(Url Encoding),是因为它的编码方式非常简单,使用%百分号加上两位的字符——代表一个字节的十六进制形式。
例如a在US-ASCII码中对应的字节是0x61,那么Url编码之后得到的就是%61。Url编码默认使用的字符集是US-ASCII。

RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个符号以及所有保留字符。

保留字符:Url可以划分成若干个组件,协议、主机、路径等。有一些字符是用作分隔不同组件的。例如:冒号用于分隔协议和主机,/用于分隔主机和路径,?用于分隔路径和查询参数,等等。

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

encodeURI() 函数可把字符串作为 URI 进行编码。
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码例如 - _ . ! ~ * ' ( ) 。
因为该方法的目的是对 URI 进行完整的编码使之成为一个合格的URI。

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
因此除了与encodeURI()相同的功能外,encodeURIComponent() 函数还必须转义用于分隔 URI 各个部分的标点符号。

通俗易懂的前端面试题网站: www.front-interview.com

标签:编码,面试题,字节,URL,URI,Url,ASCII
From: https://www.cnblogs.com/heroisuseless/p/18154782

相关文章

  • 抢先看!美团、京东、360等大厂面试题解析,技术面试必备。
    技术面试必备!美团、京东、360等大厂面试题详解,让你轻松应对各大公司面试挑战!往期硬核面经哦耶!冲进腾讯了!牛逼!上岸腾讯互娱和腾讯TEG!腾讯的面试,强度拉满!前几篇文章分享了上岸腾讯的最新面经。不少粉丝股东留言说别只发腾讯的啦,其他大厂的也安排一些吧,比如美团、360、京东的......
  • Java面试题:请谈谈Java中的volatile关键字?
    在Java中,volatile关键字是一种特殊的修饰符,用于确保多线程环境下的变量可见性和顺序性。当一个变量被声明为volatile时,它可以确保以下两点:内存可见性:当一个线程修改了一个volatile变量的值,其他线程会立即看到这个改变。这是因为volatile关键字会禁止CPU缓存和编译器优化,从而确......
  • centos8报错错误:为 repo 'appstream' 下载元数据失败 : Cannot prepare internal mirr
    出现如下错误的错误:为repo‘appstream’下载元数据失败:Cannotprepareinternalmirrorlist:NoURLsinmirrorlist原因在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS8的所有包。CentOS8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在......
  • 面试不会算法和数据结构,经典面试题讲解来了!
    随着春招季节的临近,面试备战成为许多求职者的痛点。如何在激烈的竞争中脱颖而出,成为众多求职者思考的问题。学习Python编程与算法内容,成为面试开发、测试开发等热门岗位的基础。为了帮助大家更好地应对技术类面试挑战,霍格沃兹测试开发学社打造了Python编程和算法公开课,为同学们的......
  • Python企业面试题5 —— 网络编程和并发
    1.简述进程、线程和协程的区别以及应用场景?#进程:拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程由操作系统调度。#线程:拥有自己独立的栈和共享的堆,线程也由操作系统调度。#协程和线程:协程避免了无意义的调度,由此可以提高性能;但同时协程失去了线程使用多CPU的能力。进程与......
  • visual studio连接linux编码
    该操作最好是在root用户下进行,请确保你的linux里已经修改过root用户的权限修改ubuntu里root用户权限Linux安装远程调试ubuntu下安装如下:sudoapt-getinstallopenssh-serverg++gdbgdbserverLinux设置远程调试ssh允许root登录默认情况安装完SSH服务并开启,root是不允......
  • 最近对接通联支付第三方平台,支付成功后要回调方法告知支付是否成功,通知url必须为直接
    最近公司要做PC端,微信小程序端支付,对接的第三方是通联支付,因为需要用到回调方法,所以想到了natapp内网穿透的方法给通联支付提供回调的地址访问我本机项目第一步:打开natapp,注册账号https://natapp.cn/新手的话,需要购买免费隧道,不用花钱 我几年前已经申请账号也购买免费......
  • 结对编码-软件开发与创新课程设计
    一、题目及运行环境1.小组成员2252331与22523362.题目小学老师要每周给同学出300道四则运算练习题。这个程序有很多种实现方式:C/C++C#/VB.net/JavaExcelUnixShellEmacs/Powershell/VbscriptPerlPython两个运算符,100以内的数字,不需要写答案。需要检查答案是否正......
  • 解码返回Unicode编码的文本
    publicstaticvoidMain(string[]args){stringunicodeText="\\u6b22\\u8fce\\u56de\\u6765";stringdecodedText=Regex.Unescape(unicodeText);Console.WriteLine(decodedText);}Unicode是一个字符集,它为世界上几乎所有的......
  • MySQL精选60道面试题 ( 含答案 )
    2024的4月招聘季如此卷,没点真本事真技术,没点面试经验,不了解点职场套路,如何过五关斩六将?找工作最重要的一步自然是面试,马上跳槽季,网上出现了各种面试题,一时会让人眼花缭乱,分不清最该看哪个。虽然不提倡背答案,但是该看的面试题还是得看,这里给大家总结了一些MySQL的通用面试题,不管......