持续更新,请见博客:blog.linhieng.com/posts/encod…
全局函数
-
- 将字符串中的二进制数据编码为 Base64 编码的 ASCII 字符串
-
- 对 Base64 格式数据进行解码
-
-
对整个链接进行转义,除了以下字符:
- _ . ! ~ * ' ( ) ; / ? : @ & = + $ , # 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-
-
- 解码 encodeURI
-
encodeURIComponent(uriComponent)
-
对链接中的参数进行转义(比如将参数中的
&等字符进行转义),除了以下字符(可见该方法比 encodeURI 转义更多字符!)- _ . ! ~ * ' ( ) a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-
String 函数
- at(index)
- 支持负数索引,而 charAt(index) 不支持负数。
- charCodeAt(index)
- 查看指定码元字符对应的编码值,仅限 BMP。
- String.fromCharCode(numN...)
- 根据字符编码创建字符,仅限 BMP。
- codePointAt(index)
- 查看指定字符对应的编码值,支持代理对(即大于 FFFF)。注意,这里的参数索引依旧是基于 UTF-16 的。所以
'😀'.codePointAt(1)是合法的,但获取的是低位代理。
- 查看指定字符对应的编码值,支持代理对(即大于 FFFF)。注意,这里的参数索引依旧是基于 UTF-16 的。所以
- String.fromCodePoint(numN...)
- 根据字符编码创建字符,支持代理对。
- normalize()
- 返回该字符串的 Unicode 标准化形式
说明
- BMP(Basic Multilingual Plane)指的是 Unicode 编码中的基本多语言平面,包括 U+0000 到 U+FFFF 范围内的字符。注意:length 属性始终是根据 BMP 进行计算,所以
'😀'.length的值是 2,而不是 1- 代理对(Surrogate Pair)用于表示超出 BMP 范围的字符。代理对编码是通过两个 16 位的码元组合来表示一个字符,这两个码元被称为高位代理(high surrogate)和低位代理(low surrogate)。高位代理的范围是从 U+D800 到 U+DBFF,而低位代理的范围是从 U+DC00 到 U+DFFF。
- 代码点(Code Point):指 Unicode 中的每个字符所对应的唯一数字标识。换句话说,代码点是字符在 Unicode 标准中的位置。
- Unicode 是一种字符编码标准,旨在为世界上所有的字符提供一个唯一的编号,以便计算机能够正确地处理和显示各种语言和符号。 {: .prompt-tip }
Number 函数
- toString(radix)
- 获取数字的指定进制。
- Number.parseInt(string, radix)
- 获取指定进制字符串的数字值。该函数等同全局函数 parseInt