js 文本
目录
- js通过字符串类型表示文本
字符串(string)是一组由16位值组成的不可变的有序序列,每个字符通常来自于Unicode字符集.
js通过字符串类型表示文本
字符串的长度(length)是其所含16位值的个数
js字符串和其数组的索引从零开始,第一个字符的位置是0,第二个位置是1
空字符串(empty sting)长度为0
js没有表示单个字符的"字符型"
要表示一个16位值,只需要将其赋值给字符串变量即可,这个字符串长度为1
字符集,内码,js字符串
js采用UTF-16编码的Unicode字符集,js字符串是由一组无符号的16位值组成的序列
最常用的Unicode字符是通过16位的内码表示,并代表字符串中的单个字符,那些不能表示为16位的Unicode字符则遵循UTF-16编码规则----用两个16位值组成的一个序列表示
这意味着一个长度为2的js字符串(两个16位值)有可能表示一个Unicode字符
var p = "π"; // π 由 16 位内码表示 0x03c0
var e = "e"; // e 由 17 位内码表示 0x1d452
console.log(p.length); // => 1: p 包含一个 16 位值
console.log(e.length); // => 2: e 通过 UTF-16 编码后包含两个 16 位值:"\ud835\udc52"
js定义的各式字符串操作方法均作用于16位值,而非字符,且不会对序列做单独处理,同样js不会对字符串做标准化的加工,甚至不能保证字符串是合法的UTF-16格式