- 计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果;
- 编码:按照何种规则将字符存储在计算机中;解码:将存储在计算机中的二进制数解析显示出来;如果使用了错误的解码就会出现乱码。
- 字符:各种文字和符号的总称,包括各国文字、标点符号、图形符号、数字等。
- 字符集(Charset):是一个系统支持的所有抽象字符的集合
- 字符编码:将符号(一般是文字)转换为计算机可以接受的数字系统的数字
- 计算机处理信息:利用硬件不同状态的组合来存储和处理信息的,硬件不同状态的组合就是数字系统的数字
- 常见的中文编码方式有GB2312、BIG5、GBK
1.1 ASCII
- 它主要用于显示现代英语,使用7位(bits)表示一个字符,共128字符,最高位没有使用;
- 最通用的单字节编码系统,有被Unicode追上的迹象
- 再利用最高位进行编码的方式就称为非ASCII编码,如ISO-8859-1编码
- ASCII的最大缺点是只能显示26个基本拉丁字母、阿拉伯数目字和英式标点符号,因此只能用于显示现代美国英语
1.2 GB2312
- 一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字
- 基本满足了汉字的计算机处理需要
- 对于人民、古汉语等方面出现的罕见字,GB2312不能处理,这导致了后来GBK及GBK18030汉字字符集的出现
1.3 Unicode
- 不同的编码在本地使用没有问题,一旦出现在网络中,由于不兼容,互相访问就会出现乱码
- Unicode编码系统为表达任意语言的任意字符而设计
- Unicode是字符集,UTF-32/ UTF-16/ UTF-8是三种字符编码方案
- UTF-8是一种变长编码方式,使用1-4个字节进行编码;其中第一个字节与ASCII兼容;是互联网上使用最广的一种Unicode的编码规则
1.4 BIG5
- 主要用于繁体中文(台湾,香港,澳门等)