unicode码转换汉字问题
的有关信息介绍如下:楼主正好用反了。看下面的测试
#include "stdafx.h"
#include "windows.h"
char* UNICODEtoASCII(const wchar_t* source)
{
DWORD size = WideCharToMultiByte(CP_OEMCP,
NULL,
source,
-1,
NULL,
0,
NULL, NULL);
char* dest = new char[size];
WideCharToMultiByte(CP_OEMCP,
NULL,
source,
-1,
dest,
size,
NULL, NULL);
return dest;
}
BYTE test[]={0xD5,0x8B,0x4B,0x6D,0x00}; //大小端模式的原因,在VC下,高位在后面
int main(int argc, _TCHAR* argv[])
{
printf("0x%X\n",*((DWORD*)test));
printf("%s",UNICODEtoASCII((wchar_t*)test));
getchar();
return 0;
}
只为测试,申请的空间我没有释放,请楼主自行修改 ^_^