[STM8] unicode内码转换问题请教

[复制链接]
1428|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

粉丝
快速回复 在线客服 返回列表 返回顶部