【什么是字符编码】
字符编码(英语:Character encoding)也称字集码
是把字符集中的字符,编码为指定集合中某一对象,以便文本在计算机中存储或通过网络进行传递。
说人话:计算机里只能存数字(2机制),所以如果文字字符想要进行存储的话,就需要把对应的文字字符转换为数字才能进行处理,而字符编码就是文字字符在计算机中和数值的对应关系,是人为定义的一种映射规则。比如:
ASCII码(一种字符编码规则)中 数值是65 用来映射 字符A
我们存储 A 这个字符,本质上存在内存中的是数值65对应的2进制是0100 0001
常见的一些字符编码规则有
每个国家针对自己国家语言制定的编码规则(因为语言文字的数量各不相同)
ASCII码(美国)、GB2312编码(中国)、Shift_JIS编码(日本)、Euc-kr(韩国)等等
世界通用的编码规则(把所有语言统一到一套编码里)
Unicode编码 以及 基于Unicode实现的编码规则
UTF-8、UTF-16、UTF-32
【为何会出现乱码】
我相信很多人在查看文本文件时,经常会看到如上图中的这种乱码。那么为什么会出现这样的乱码呢?
假设我们的一个文件是采用中国制定的GB2312编码进行编辑存储的,而此时我们并不使用GB2