汉字转换Unicode

dmz2922990 2008-05-21 01:27:50
下面是在网上找的一段汉字转换GB码和UNICODE码的程序,可是运行后发现国标码正确可UNICODE码不对.要怎么修改?还有其他的方法转换吗?
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
#include <stdlib.h>

int main(void)
{
char *temp;
char sim[32]="狗";
char tra[32];
wchar_t uni[32];
temp=setlocale(LC_ALL,".936");
puts(temp);
printf("%s\t%2x %2x\r\n",sim,(unsigned char)(sim[0]),(unsigned char)(sim[1]));
if(-1==mbstowcs(uni,sim,32))
{
perror("mbstowcs");
}
temp=setlocale(LC_ALL,".950");
if(-1==wcstombs(tra,uni,32))
{
perror("wcstombs");
}
printf("%s\t%2x %2x\r\n",tra,(unsigned char)(tra[0]),(unsigned char)(tra[1]));
system("PAUSE");
return 0;
}
...全文
316 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cppwin 2008-05-31
  • 打赏
  • 举报
回复
wcstombs(tra,uni,32) 这句写错了

改:
wcstombs(uni,tra,32)

这帖好奇怪,好多天了, 居然还排在前5行,囧
hoya5121 2008-05-26
  • 打赏
  • 举报
回复
void Gb2312ToUnicode(unsigned short* pOut,unsigned char *gbBuffer)
{
MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,(LPCSTR)gbBuffer,2,pOut,1);
}
fairyprince 2008-05-21
  • 打赏
  • 举报
回复
你要转几种?要有代码表才能转换
UNICODE 是编码方法

GBK 是代码页,如韩文,日文

可以用windows api 转
MultiByteToWideChar

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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