区位码,国标码,内码

区位码:可当作一种逻辑概念,它按照区号加位号的方式为每个汉字编码。采用两个两位的十进制数表示。

国标码:GB2312为每个汉字编的码,可认为它是区位码的一个“子集”(比如港澳台地区也按照自己的区位码的方式为每个汉字编码),只不过它的编码方式与区位码不一样。采用两个两位的十六进制数表示。

内码:二进制序列,是字符在计算机内部真正的表示。

 

下面列一下区位码,国标码,内码三者之间的转换公式:

区位码-->国标码:区位码(十进制)的两个字节分别转换为十六进制后加20H得到对应的国标码

国标码-->内码:国标码两个字节的最高位分别加1,国标码的两个字节分别加80H得到对应的机内码

区位码-->内码:区位码(十进制)的两个字节分别转换为十六进制后加A0H(十进制160)得到对应的机内码。

 

下面是根据以上原理,获取汉字声母的函数:

 

// 获取单个汉字的声母

 

// 获取汉字词组的声母序列

 

注:如果在unicode环境下,需要先把unicode字符转换为MBCS字符,然后再调用上述函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值