现如今的编程界流行着各种各样的编程语言,JAVASCRIPT、JAVA、PYTHON、C++…在这些编程语言中都存在着一种数据类型,那便是 字符串,由此可见它的重要性,因此对于它的研究肯定也是必不可少的,废话不多说,开搞!

bqb

什么是字符集

字符集,从字面意思就可以知道它是 字符的集合,具体的定义为:已编号的字符的有序集合。它为计算机所用到的每一个字符都分配了编号,从而形成一个 映射的关系(编号 => 字符)

字符集其实有很多种,不同的字符集涵盖了不同数量的字符,常见字符集如下

bg-pic

在了解了字符集的概念后,我们还需要知道另一个重要概念:编码方式,请看下文

bqb

什么是编码方式

编码方式说白了就是 规定字符集里的编号如何映射成2进制以及如何将2进制映射回对应的编号,不同的处理方式会产生不同的编码结果,在介绍不同的编码方式之前,我们还需要理解一个重要概念,那就是 码元

在计算机中,处理数据的最小单位是字节,在不同的编码方式中,一次读取的字节数是不一样的,码元便是指 计算机一次读取的字节数

在了解了码元的含义后,我们再来看下一些常见的编码方式

还需要注意的是如果某个字符是由多个字节编码的,那除了首字节外,其余字节都需要用 10 开头

结语

之前一直对字符集和编码方式搞混淆,还以为他俩是一个东西,但是经过最近的研究后才发现之前自己是多么“天真”,我相信在以后的开发中对于字符编码方面的问题的处理能更加得心应手,我想这就是我的收获吧~