[开发工具] MDK编stm32程序中unicode中文存储wchar

[复制链接]
1115|7
 楼主| hanwe 发表于 2017-4-28 21:20 | 显示全部楼层 |阅读模式
MDK编stm32程序中unicode中文存储wchar
yufe 发表于 2017-4-28 21:21 | 显示全部楼层
什么意思?不是很明白你说的什么,能再解释一下这个现象吗
yufe 发表于 2017-4-28 21:23 | 显示全部楼层
不一定是UNICONDE码;
llia 发表于 2017-4-28 21:24 | 显示全部楼层
找个汉字转16进制的软件测试下看看;
 楼主| 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存储。
 楼主| hanwe 发表于 2017-4-28 21:55 | 显示全部楼层
我错了
搞不定
mdk先天不足,不支持ucs-2
自己改成ucs-2格式,但是只要自己一编辑,mdk就会把文件改回去utf8存储,然后就又不对了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

979

主题

8749

帖子

4

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