打印
[开发工具]

MDK编stm32程序中unicode中文存储wchar

[复制链接]
937|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2017-4-28 21:20 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
MDK编stm32程序中unicode中文存储wchar
沙发
hanwe|  楼主 | 2017-4-28 21:25 | 显示全部楼层
请问如何测试?
我在网上搜了“测试”两个汉字的unicode码,也查了wchar的资料。
资料说,根据系统不同,wchar一般为16位,也可能为32位,但是大多数字符数值上应该是相等的。
我自己从数组里读出来的值,我去验证了一下,不是gbk,不是big5,不是utf8,所以我很茫然。

使用特权

评论回复
板凳
hanwe|  楼主 | 2017-4-28 21:26 | 显示全部楼层
有进展。
把“试”字删掉,改成如下定义
wchar_t testchar[20] = L"测";
无法编译通过, 出现如下两行提示
error:  #8: missing closing quote
  wchar_t testchar[20] = L"娴?;
而"娴”的unicode正是5A34
请帮忙解读一下,这个可能是什么原因?

使用特权

评论回复
地板
hanwe|  楼主 | 2017-4-28 21:54 | 显示全部楼层
已搞定。
原因是mdk默认编码是utf8
解决办法是mdk的默认编码设置成utf8,但是c文件本身需要用别的工具转成ucs-2 big endian存储。

使用特权

评论回复
5
hanwe|  楼主 | 2017-4-28 21:55 | 显示全部楼层
我错了
搞不定
mdk先天不足,不支持ucs-2
自己改成ucs-2格式,但是只要自己一编辑,mdk就会把文件改回去utf8存储,然后就又不对了。

使用特权

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

本版积分规则

979

主题

8749

帖子

4

粉丝