关于取模数据序号定位的说明 区码定位是指GBK编码

该博客详细介绍了GBK编码的扩展原理,指出GBK对GB2312的扩展方式,包括第一字节范围和第二字节的两部分。通过特定算法可以对GBK编码进行数据定位,例如定位到特定的区码。内容还涉及到字节减法和定位高位与低位的计算方法,并给出了实例解释如何将字节转换为区位码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于取模数据定位的说明:
以GBK为例
GBK 对 GB2312 进行了扩展。第一字节为 0x81~0xFE,第二字
节分两部分,一是 0x40~0x7E,二是 0x80~0xFE。

即(0x7f-0x40+0xff-0x80)=一个区190个字。	

定位方法如下:
第一个字节减去 0x81,则是正确的区位,每个区的大小要根据每个字所占用的字节×190
(0x7f-0x40+0xff-0x80)即可。如果第二个字节小于 0x7f 则减去 0x40,
如果第二个字节大于等于 0x80 则减去 0x41。


定位的高位=(区码高位-0x81)*0xBE
定位的低位= 如果 区码低位<0x7F  ,区码低位-0x40
						如果 区码低位>=0x80  ,区码低位-0x41
						
比如D2BB 一
定位的高位=D2-81   =0x51
定位的低位=BB-41   =0x7A
0x51*0xBE+0x7A=0x3C98=15512

即
定位1对应区码0x8140   丂
定位2对应区码0x8141   丄
定位190对应区码0x8240 侤
定位15512对应区码0xD2BB 一

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黄人软件

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值