知识点: 宽字符转多字节字符 多字节字符转宽字符 什么是ANSI,什么又是UNICODE呢?其实这是两种不同的编码方式标准,ANSI中的字符采用8bit,而UNICODE中的字符采用16bit 在VC++中 ANSI标准 体现为 CHAR类型 而Unicode标准体现为WCHAR类型 一、宽字符转多字节字符 Unicode转 ASNI WCHAR 转 CHAR 方法1: #include <atlconv.h> USES_CONVERSION ;;//宏 W2A(WCHAR);//返回一个 ASNI标准的多字节字符 方法2: WideCharToMultiByte { WCHAR wText[20] = {L"宽字符转换实例!OK!"}; // DWORD dwNum; CHAR psText[256]; dwNum=sizeof(wText)/2;//获取字串长度 // dwNum = WideCharToMultiByte(CP_OEMCP,NULL,wText,-1,NULL,0,NULL,FALSE); ////获取字串长度 WideCharToMultiByte (CP_OEMCP,NULL,wText,-1,psText,dwNum,NULL,FALSE); UpdateData(false);//为了方便下断测试 } 二、多字节字符转宽字符 CHAR 转WCHAR ASNI 转 Unicode 方法1: USES_CONVERSION ;;//宏 A2W(CHAR);//返回WCHAR类型 方法2:MultiByteToWideChar { CHAR sText[]="abc"; WCHAR pwText[256]; int dwNum=sizeof(sText); //dwNum = MultiByteToWideChar (CP_ACP, 0, sText, -1, NULL, 0); //获取字串长度 MultiByteToWideChar (CP_ACP, 0, sText, -1, pwText, dwNum); UpdateData(false);//为了方便下断测试 }