字符集编码
references:
区别
条目 | ASCII | Unicode | UTF-8 |
---|---|---|---|
占用byte数 | 1 | 2,不常用的字符占用4个 | 变长的编码方式,将一个Unicode字符编码成1-6个字符。常用的英文字母被编译成1个byte,汉字通常是3个byte,生僻的字符会编码成4-6个byte。 |
ASCII:最初对于编码集的处理,设计者只考虑英文的相关字符
Unicode:能够对世界上的几乎所有字符进行编码。
注:对于js中的Array.prototype.sort方法:如果没有指明 compareFunction ,那么元素会按照转换为的字符串的诸个字符的Unicode位点进行排序。(copy from MDN)
UTF-8:UTF-8就是在互联网上使用最广的一种Unicode的实现方式。对于一份英文文档,本来一个byte就能够存储,这回需要2个byte存储,不要小看这多出来的一倍,因为服务器要存储的并不是我们个人要编辑的一个两个文档,而是全世界所有的信息化数据,多出来的一倍就意味着多出一倍的硬盘。为了解决这个问题出现了UTF-8,UTF-16等。
另:
ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作