打印
[STM32F1]

GB2312字库,判断中文还是英文字符问题

[复制链接]
2768|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luodewei|  楼主 | 2015-1-27 10:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 luodewei 于 2015-1-27 12:37 编辑

我的语句如下,但实际调试中发现一部分中文也识别为英文了,难道不是大于0x80的都是中文字符吗?还是字库问题?
if ( CmpBuf[a] & 0x80)  
{
linetext +=8;    //16号字,中文
}
else
{
linetext +=16;   //16号字,英文
}


搞定了,只需要比较第一位即可,高位大于0x80,低位则任意。
改正后如下:
if ( CmpBuf[a] & 0x80)  
{
linetext +=16;    //16号字,中文
a++;
}
else
{
linetext +=8;   //16号字,英文
}
沙发
liuwanlihao1| | 2015-1-27 10:26 | 只看该作者
大于0x80的都是中文啊,没错啊......

使用特权

评论回复
板凳
戈卫东| | 2015-1-27 10:28 | 只看该作者
第一个字节大于0X80,第二个要跳过?

使用特权

评论回复
地板
huzi2099| | 2015-1-27 11:50 | 只看该作者
汉字是两字节,如果GB字库每字两字节,英文用0填充

使用特权

评论回复
5
mmuuss586| | 2015-1-27 12:14 | 只看该作者

看下字库的代码是不是都大于0X80,是的话,你判断出错,就是你程序问题了;

使用特权

评论回复
6
叶伤| | 2015-1-30 00:52 | 只看该作者
本帖最后由 叶伤 于 2015-1-30 00:55 编辑

一个英文加16,另一个英文加8。玩数字游戏?

使用特权

评论回复
7
zh113214| | 2015-1-30 11:07 | 只看该作者
进来看看,顶一个!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

40

帖子

2

粉丝