带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(5)

简介: 带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(5)

带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(4) https://developer.aliyun.com/article/1240899?groupCode=tech_library


9.3、GBK


GBK即“国标扩展”的意思,因为GB2312双字节的最高位都要求大于1,上限也不会超过1万个字符,所以对此进行了扩展,对GB2312的字符不重新编码直接沿用,因此完全兼容GB2312。


GBK虽然也是双字节编码,但是只要求第一个字节大于 127 就固定表示这是一个汉字的开始,正因为如此,GBK的编码空间比GB2312大很多。


GBK 整体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线,总计 23940 个码位,共收入 21886 个汉字和图形符号。其中 GBK/1 收录除 GB 2312 字符外的其他增补字符,GBK/2 收录 GB2312 字符,GBK/3 收录 CJK 字符,GBK/4 收录 CJK 字符和增补字符,GBK/5 为非中文字符,UDC 为用户自定义字符。


详细如下如所示:


这里大家可能会有两个疑问:为什么尾字节要从40开始,而不是00开始?为什么要排除 FF、xx7F这两条线的编号?


GBK的尾字节编码高位没有强制要求是1,当高位是0时跟ASCII码是冲突的,ASCII码里00-40之间大部分都是控制字符,所以排除控制字符主要是为了防止丢失高字节导致出现系统性严重后果。


排除FF是为了兼容GB2312,GB2312这个位是保留不使用的;而7F表示DEL字符就是向后删除一个字符,如果传输过程中丢失首字节那么就会出现严重的后果,所以需要将xx7F也排除,这是所有编码方案都需要注意的地方。



带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(6) https://developer.aliyun.com/article/1240896?groupCode=tech_library

相关文章
|
Oracle 关系型数据库 MySQL
MySQL8.0下载原装安装(超详解)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。本文将讲解如何安装MySQL
4378 0
|
5月前
|
缓存 运维 监控
当你的 Agent 会“多轮思考”,Trace 却还停留在单轮:阿里云 CMS OpenClaw 可观测插件升级
阿里云 OpenClaw 可观测插件新版本上线!解决行业通病,还原完整链路信息:多轮 LLM 分段还原真实决策链路、STEP Span 让"第几轮"可观测、并发断链/串链显著修复、AGENT 指标稳定可量化。从"有图可看"升级到"支撑决策",排障、成本治理、并发验证全面提效。
559 39
|
Rust 网络协议 应用服务中间件
granian:让你的 Web 应用程序快如闪电
granian:让你的 Web 应用程序快如闪电
1461 2
|
安全 机器人 数据安全/隐私保护
steam注册教程,8个步骤拥有属于自己的steam账户
steam注册教程,从小白到高手,只差这篇教程!
2815 4
steam注册教程,8个步骤拥有属于自己的steam账户
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 2
在 Matplotlib 中使用 `plot()` 方法的 `marker` 参数来自定义图表标记。通过不同符号如 `"o"`(实心圆)、`"v"`(下三角)等,可实现多样化的标记效果。示例展示了实心圆标记的使用方法,提供了多种标记符号供选择,包括几何形状和特殊符号。
676 0
|
存储 JavaScript 安全
Web安全之XSS跨站脚本攻击
XSS(跨站脚本攻击)
592 7
|
关系型数据库 MySQL 数据库
【MySQL】:超详细MySQL完整安装和配置教程
【MySQL】:超详细MySQL完整安装和配置教程
46450 5
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】CAFM(Convolution and Attention Fusion Module):卷积和注意力融合模块
**HCANet: 高光谱图像去噪新方法** HCANet是一种结合CNN与Transformer的深度学习模型,专为高光谱图像设计。它使用卷积注意力融合模块(CAFM)捕捉局部和全局特征,并通过多尺度前馈网络(MSFN)增强多尺度信息聚合,提升去噪效果。CAFM包含卷积和注意力分支,整合局部细节与长距离依赖。代码已开源:[GitHub](https://github.com/summitgao/HCANet)。
|
Ubuntu Linux
服务器硬件 做raid操作 ubuntu linux做raid
服务器硬件 做raid操作 ubuntu linux做raid
715 0
|
弹性计算 安全 数据中心
阿里云香港服务器提供高性能、安全、CN2高速网络、BGP多线精品
阿里云香港服务器提供高性能、安全、CN2高速网络、BGP多线精品
1624 0