因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。因此要对字符进行编码。
- 计算机由美国人发明,最早的编码表是ASCII码,只有127个字符,包括英文字母和一些符号,用一个字节表示。
- 为了处理中文,中国发明了GB2312编码,至少需要用两个字节表示。其他国家也有自己的编码。
- 问题:当不同语言出现在一起时就会出现乱码。为了解决这个问题,Unicode出现了,Unicode把所有语言都统一到一套编码里,解决了乱码的问题。
- 但Unicode一般用两个以上字节表示字符,对于英文文档会出现很大的空间浪费。本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896