java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**
这篇讲的是字符编码的“地基”怎么打。作者从计算机如何存储文字这个最基本的问题出发,系统梳理了编码、字符、字符集这些核心概念,重点对比了为西欧语言设计的ASCII和为汉字设计的GB系列编码的根本差异。 ASCII用1个字节表示128个字符,完美覆盖英语字母和符号。但汉字数量庞大,ASCII的“小房子”根本住不下。于是中国的GB2312标准采用双字节编码,用“两个大于127的字节”组合出超过6000个常用汉字,还巧妙兼容了ASCII。随后GBK和GB18030不断扩展,GB18030更采用单字节、双字节、四字节混合编码,终于将少数民族文字等也纳入其中,成为国家强制标准。 文章清晰地展示了编码标准如何随着需求而演进,从ASCII的128个字符到GB18030的庞大字符集,核心就是解决“如何用有限的数字组合,表示世界上尽可能多的文字”。这种从基础出发的梳理,能帮你彻底理解中文乱码的历史根源。