GBK原理:处理过程分步说明

51 0

GBK 是中文 Windows 长期使用的汉字编码,全称《汉字内码扩展规范》,1995 年发布。下面重点说明处理过程分步说明。

GBK原理

GBK 采用双字节编码:首字节大于 0x80 就表示它和下一个字节组成一个汉字。例如“中”是 D6 D0,“文”是 CE C4。它与 Unicode 码点没有数学关系,转换时需要查码表。

示例

输入:123问

编码结果:31 32 33 CE CA

说明:按 GBK 共 5 字节。

核心要点

  • 兼容 GB2312:GB2312 的 6,763 个汉字编码在 GBK 中不变
  • 汉字 2 字节,首字节 0x81–0xFE,尾字节 0x40–0xFE(不含 0x7F)
  • ASCII 字符 1 字节,与 ASCII 相同
  • 不能表示 emoji 和大多数外文字符
  • GB18030 是 GBK 的超集,覆盖全部 Unicode,是国家强制标准

常见报错

  • UnicodeDecodeError: 'gbk' codec can't decode byte 0xad:文件实际是 UTF-8
  • UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f600':GBK 无法表示 emoji,改用 UTF-8 或 errors="replace"
  • Java 读文件乱码:FileReader 使用了系统默认编码,改用 InputStreamReader 指定字符集
  • 网页显示“锘”开头:UTF-8 BOM 被按 GBK 解读

本站的字符编码检测工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【GBK 能存 emoji 吗?】不能,需要 UTF-8 或 GB18030。

【Excel 打开 UTF-8 的 CSV 乱码怎么办?】把 CSV 保存为带 BOM 的 UTF-8,或通过“数据 → 从文本”导入并选择 UTF-8。

【GBK 文件怎么转 UTF-8?】用 iconv -f GBK -t UTF-8,或在编辑器中以 GBK 打开后另存为 UTF-8。

文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: GBK 文本处理

抱歉,评论功能暂时关闭!