如何使用javascript和JS对url进行编码和转换

 2024-02-19 03:01:03  阅读 0

介绍:

项目中,url遇到了无法解析参数和数组对象的问题。 通过转码解决了,但实际原理不太清楚。 我研究了JS转码和解码。 该语言使用三个函数进行编码。 ()()e…

项目中,url遇到了无法解析参数和数组对象的问题。 通过转码解决了,但实际原理不太清楚。 我研究了JS转码和解码。

该语言使用三个函数进行编码。

()

字符串转路径_js转化url为字符串_字符串转网址

()

三种编码方式的区别:

和:

:不能直接用于URL编码。 它的真正作用是返回一个字符的编码值,这样就可以对指定的字符串进行编码。

除 ASCII 字母、数字和标点符号“@ * _ + - ./”外,所有空格、标点符号、特殊字符和其他非 ASCII 字符都会被转换为 %xx(十六进制数字)格式的字符编码)。 即有 69 个未编码字符:*、+、-、.、/、@、_、0-9、az、AZ。

对应的解码函数为();

和:

**()** 是实际用于对 URL 进行编码的函数。 整个 URL 均已编码。 除常见符号外,URL“;/?:@&=+$,#”中具有特殊含义的符号不进行编码。 编码后,输出该符号的UTF-8形式,并在每个字节前添加%。 请注意,() 不编码单引号。

对应的解码函数是()。

js转化url为字符串_字符串转网址_字符串转路径

用于对 URL 的各个组成部分进行单独编码,而不是对整个 URL 进行编码。 因此,()中没有编码的符号“; / ? : @ & = + $,#”都会被()编码。

因为()会编码更多的字符,比如“/”等字符。 如果字符串包含 URI 的多个部分,则不能用于编码。 否则,“/”字符编码后URL将显示不正确。 因此,在传递参数时,包含特殊字符的参数可能会造成中断。

总之:

**()**函数是js用来对字符串进行编码的。不常用

**()** 用于跳转整个url

**()** 用于传递参数。 包含特殊字符的参数可能会导致中断。

标签: 编码 字符 符号

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码