汉字转换Unicode
下面是在网上找的一段汉字转换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;
}