GBK 是中文 Windows 长期使用的汉字编码,全称《汉字内码扩展规范》,1995 年发布。下面重点说明关键规则与常用写法。
GBK速查表
- 兼容 GB2312:GB2312 的 6,763 个汉字编码在 GBK 中不变
- 汉字 2 字节,首字节 0x81–0xFE,尾字节 0x40–0xFE(不含 0x7F)
- ASCII 字符 1 字节,与 ASCII 相同
- 不能表示 emoji 和大多数外文字符
- GB18030 是 GBK 的超集,覆盖全部 Unicode,是国家强制标准
- 匹配 GBK 双字节汉字(按字节,Python bytes 正则):rb"[\x81-\xfe][\x40-\x7e\x80-\xfe]"
- 匹配 GBK 无法表示的 emoji 范围(字符层面):[\U0001F300-\U0001FAFF]
示例
输入:123问
编码结果:31 32 33 CE CA
说明:按 GBK 共 5 字节。
规则说明
- 首字节 0x81–0xFE
- 尾字节 0x40–0x7E、0x80–0xFE
- 单字节 0x00–0x7F 与 ASCII 相同
- Windows 代码页 936(CP936)基本等同 GBK
Python 示例
下面是 Python 中处理GBK的常用写法:
"中".encode("gbk") # b'\xd6\xd0'
b"\xd6\xd0".decode("gbk") # '中'
open("old.txt", encoding="gbk").read()
"😀".encode("gbk", errors="replace") # b'?'运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的字符编码检测工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【GBK 文件怎么转 UTF-8?】用 iconv -f GBK -t UTF-8,或在编辑器中以 GBK 打开后另存为 UTF-8。
【GBK 和 GB2312 有什么区别?】GBK 是 GB2312 的扩展,收字更多,包含繁体字;GB2312 编码的文本可以直接按 GBK 读取。
【一个汉字在 GBK 中占几个字节?】2 个字节。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。