【Java基础】字符集
- 0. 预备知识
- 1.计算机中的存储规则
- 2. Unicode、UTF-8
- 3. 为什么出现乱码
- 4. 如何防止产生乱码
0. 预备知识
字符集(Character Set)是多个字符的集合,它规定了字符在计算机中的编码方式。
字符集的定义与作用
- 字符集是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
- 字符集使得计算机能够识别和存储各种文字,是实现文字信息化的基础。
1.计算机中的存储规则
GBK中一个汉字需要两个字节存储,一个英文占一个字节
ASCII字符集中一个英文占用1个字节
计算机中最小的存储单元是一个字节
GBK字符集完全兼容ASCII字符集
2. Unicode、UTF-8
在UTF-8的规则下英文1个字节,中文3个字节
UTF-8不是字符集,是Unicode字符集的一种编码方式
3. 为什么出现乱码
- 读取数据时未读完整个汉字
- 编码和解码的方式不一致
4. 如何防止产生乱码
- 不要用字节流读取文本文件
- 编码与解码使用同一个编码方式,同一个码表