Java程序员遇上字符乱码6-说说常见中文字符集

中文字符集,都是GB开头的,GB=Guo Biao=国标=国家标准,GBK中K指“扩展”的意思。

常见的中文字符集:GB2312 < GBK < GB18030,下图为其包含关系,可表示字符 从内到外增加。


刚开始时(1980年):GB2312 编码,它包括了 Ascii 中的编码,还扩充可以表示6000多个常用汉字。

后来:GBK 编码,它包括了 GB2312 中的编码,还扩充包含繁体和各种字符等。

再后来:GB18030 编码,包括GBK中的编码,还扩充包含少数名族的字符。

以后的以后:.......

.......不断扩充.......

         .......不断扩充.......

                   .......不断扩充.......

综合:GB2312 和 GBK,对于英文等Ascii 字符集中的字符用一个字节存储。其他后来扩充的中文字符则是 两个字节。

注意:

1.Big5是与GB2312同时期的一种台湾地区繁体字的编码格式。后来GBK编码的制定,把Big5用的繁体字也包含进来(但编码不兼容,所以不是一个体系,就没有画在上图中)。

2.  全角和半角之分:

历史:是由于中文文字 比 Ascii字符 宽(大只),所以打印文件时容易不整齐(不太好看),因此设计了 用两个字节(全角)来表示 Ascii字符。这在平时用的输入法中可以切换。

全角英文:两个字节  (大只)

半角英文:一个字节  (小只)

然而平时我们只能用半角来编程。

3.同一个编码文件里,怎么区分ASCII和中文编码呢?从ASCII表我们知道标准ASCII只有128个字符,0~127即0x00~0x7F(0111 1111)。所以区分的方法就是,高字节的最高位为0则为ASCII,为1则为中文。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容