encodeURIComponent() 函数的用法以及 URI 和 URL 的区别

定义和用法

这是 JavaScript 自带的函数,encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?😡&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

语法

encodeURIComponent(uri)

示例

<script>
var uri="http://w3cschool.cc/my test.php?name=ståle&car=saab";
document.write(encodeURIComponent(uri));
</script>

// 输出
http%3A%2F%2Fw3cschool.cc%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab

URL 和 URI 的区别

Java 类库里有两个对应的类 java.net.URL 和 java.net.URI,官方的定义分别如下:

URL(统一资源定位符):A Uniform Resource Locator thatidentifies the location of an Internet resource as specified by RFC 1738.(统一资源定位符用于标示网络资源的位置)

URI(统一资源标识符):A Uniform Resource Identifier that identifies an abstract or physical resource, as specified by RFC 2396.(统一资源标识符用于标示一个抽象或者物理资源)

也就是说 URI 是以一种抽象的,高层次概念定义统一资源标识,而 URL 则是具体的资源标识的方式。

URL 是一种 URI,即 URL 是 URI 的一个子集。

参考资源

https://www.runoob.com/jsref/jsref-encodeuricomponent.html

URL和URI的详细区分

每天学习一点点,每天进步一点点。

posted @ 2021-03-21 16:26  爱吃西瓜的番茄酱  阅读(453)  评论(0编辑  收藏  举报