还是关于中文字符显示的问题,请高手帮忙

allen1986 2009-04-08 04:05:01
假如有函数:
void Fun(AECHAR* ps)
{
...
IDISPLAY_DrawText(
...
ps,
...);
}

如果程序是:
AECHAR* ps=L"你好";
然后调用Fun(ps),可以显示"你好"两个字。
但如果外界只传入AECHAR* ps="你好",也就是并没有将实参处理为UNICODE,那我在函数里能不能加代码实现该中文显示呢,如果可以的话,该怎么写呢?望高手指点。(假设该函数为了是从一个文件读取数据然后显示在屏幕上)
...全文
1492 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
发现心流 2009-04-09
  • 打赏
  • 举报
回复
gb2312直接就是unicode吧?
你好gb2312就够了吧
2025hawk 2009-04-08
  • 打赏
  • 举报
回复
你假设要读取的文件都是中文的吧,国内一般都是GB18030编码标准的,实际上你需要的是一个GB18030->UNICODE的转换函数。
1.你需要判断字符是不是小于0x81,如果是就按ASCII码处理转换,字符&0x00ff
2.如果大于等于0x81,你需要一个GBK TO UC2的对应置换码表。根据相应的GBK码查询对应的UC2编码
sunyymq 2009-04-08
  • 打赏
  • 举报
回复
你直接定义AECHAR ps[3]={0x4F60, 0x597D,0 };//你好

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧