打印
[STM8]

unicode内码转换问题请教

[复制链接]
1226|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
oktony|  楼主 | 2016-3-19 11:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟在做一个多国语言12864液晶显示程序,在iar里面使用UTF-8编码格式,当调用输出显示函数 LcmPutStr("æ");后,其中一个子函数用来获取“æ”这个字符的utf8内码为0xc3a6这个是正确的,但是由于utf8是变长的,现在我如果要输出   "a"字符,我的这个子函数得到的内码是0x6100而不是0x0061,请问怎么才能正确的将"a"转换成0x0061内码?以下是我的子函数代码,请指教谢谢!

void GetCharAddr(uchar *uichar)
{
  uint iPos;
  iPos=((uint)(*uichar))<<8|((uint)(*(uichar+1)));
}
沙发
jekey| | 2016-3-19 21:58 | 只看该作者
根据utf8的编码解析字符串,不能固定取两字节.

使用特权

评论回复
板凳
zhuotuzi| | 2016-3-19 23:26 | 只看该作者
那就调用不同国家的字库文件吧,需要搞个闪存芯片,大点的。

使用特权

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

本版积分规则

17

主题

46

帖子

1

粉丝