GB2312、GBK、GB18030 三者是一脉相承的中文编码体系,核心关系是逐步扩展、向下兼容,后两者都是为解决前者的字符收录局限而生,且依次兼容前序编码,以下是具体梳理:
GB2312 是基础,奠定中文编码雏形
它是 1981 年实施的首个中文编码国家标准,全称为《信息交换用汉字编码字符集・基本集》,收录了 6763 个常用简体汉字和 682 个特殊符号,能覆盖日常 99.75% 的汉字使用场景。其采用固定双字节编码,同时兼容 ASCII 编码,不过它的缺陷很明显,无法处理人名、古汉语中的生僻字,也不包含繁体字、日韩汉字等,这为后续 GBK 的出现埋下了伏笔。
GBK 是 GB2312 的直接扩展,填补字符缺口
1995 年发布的 GBK(《汉字内码扩展规范》),核心是弥补 GB2312 的字符短板。它在 GB2312 基础上,新增了繁体字、生僻字、日韩汉字等,最终收录超 2 万个字符。它完全兼容 GB2312,意味着 GB2312 编码的文本可直接用 GBK 解码,且同样采用双字节编码。但需注意,GBK 仅为行业技术规范,并非正式国家标准。
GB18030 是前两者的全面升级,实现多字符全覆盖
作为当前的国家标准,GB18030(《信息技术 中文编码字符集》)是对 GBK 的进一步扩展,且完全兼容 GB2312、基本兼容 GBK。它解决了前两者无法覆盖少数民族文字、更多生僻字和全球多语种字符的问题,最新版本收录超 7 万个字符。与前两者固定双字节编码不同,它采用 1 - 4 字节的变长编码,编码空间极大,还能完整覆盖 Unicode 的所有码位,如今是我国境内软件产品需强制支持的编码标准。