数据类型
- Number
- String
- Bool
- Symbol (ES6新增)
- Undefined
- Null
- Object
总结为:四基两空一对象
可以通过typeof()
查询数 据类型
typeof('123')
"string"
编码
Unicode 万国码
全球通用,不断更新。详细可看:编码简史
ASCII ---> GB2312 ---> GBK ---> GB18030 / DBCS ---> Unicode
UTF-8是一种针对Unicode的可变长度字符编码,也是一种前缀码,最初由肯·汤普逊和罗布·派克提出。是在互联网上使用最广的一种 Unicode 的实现方式。
其他实现方式还包括 UTF-16(字符用两个字节或四个字节表示)和 UTF-32(字符用四个字节表示)
⚠️注意:UTF-8 只是 Unicode 的实现方式之一
目前包含全球的字符约13万个,而使用的码点数则在2^21 = 2,097,152
UTF-8 编码
如果一个字节的第一位是0
,则这个字节单独就是一个字符;如果第一位是1
,则连续有多少个1
,就表示当前字符占用多少个字节。
具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表。
**UTF-8 优势:**Unicode 没有规定字符对应的二进制码如何存储。假如完美支持中文,那么字符必须按3个字节存储,要达到全球通用需要使用5个字节存储,使用可变编码的方式可大量减少内存空间
数字“1”的编码 UTF-8: 31 // 00110001
文字“儞”的编码 UTF-8: E5 84 9E // 11100011 1001000 10000010