一、知识总结
- Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
- Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。
- ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。
- 本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
- ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。
- 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
以上知识参考与https://www.liaoxuefeng.com/wiki/897692888725344/923028730936032
二、个人理解
早期计算机编码格式为ASCII,为了统一编码,出现了Unicode编码。现在计算机内存和编程语言均支持Unicode编码。但Unicode比较浪费空间,因此出现了UTF-8编码。保存数据到磁盘,一般为UTF-8,或者默认的编码,读取到内存时转为Unicode编码。