VC: MBCS字符集转换成UTF-8
2012-06-11 10:15
281 查看
// MBCS字符集转换成UTF-8,使用完了之后要释放返回的内存! char* DataStore::MBCS2Utf8(char* szMBCS, ULONG* _out_length) { if (szMBCS == NULL || _out_length == NULL) return NULL; // 方法:先转换成CP_ACP再转换成CP_UTF8 int nLength = MultiByteToWideChar(CP_ACP, 0, szMBCS, -1, NULL, NULL); // 获取缓冲区长度,再分配内存 WCHAR *tch = new WCHAR[nLength]; nLength = MultiByteToWideChar(CP_ACP, 0, szMBCS, -1, tch, nLength); // 将MBCS转换成Unicode int nUTF8len = WideCharToMultiByte(CP_UTF8, 0, tch, nLength, 0, 0, 0, 0); // 获取UTF-8编码长度 char *utf8_string = new char[nUTF8len]; WideCharToMultiByte(CP_UTF8, 0, tch, nLength, utf8_string, nUTF8len, 0, 0); //转换成UTF-8编码 *_out_length = nUTF8len; delete tch; return utf8_string; }
相关文章推荐
- VC: MBCS字符集转换成UTF-8
- VC: MBCS字符集转换成UTF-8
- vc中gb2312和UTF-8的转换
- [字符集]Unicode和UTF-8之间的转换详解
- c++字符集之间转换(UTF-8,UNICODE,Gb2312)
- VC UTF-8与中文(GB2312)相互转换
- 字符集之间转换(UTF-8,UNICODE,Gb2312) c++
- 字符集之间转换(UTF-8,UNICODE,Gb2312)
- 字符集之间转换(UTF-8,UNICODE,Gb2312)
- 字符集之间转换(UTF-8,UNICODE,Gb2312)
- VC下Unicode 到UTF-8的转换
- c++字符集之间转换(UTF-8,UNICODE,Gb2312)
- 字符集之间转换(UTF-8,UNICODE,Gb2312)
- Python编码UNICODE GBK UTF-8字符集转换的正确姿势
- vs与vc之间项目转换 unicode-mbcs
- vc++中GB2312字符串和UTF-8之间的转换
- MBCS与UNICODE字符集相互转换.
- VC++的多字符集和unicode字符集转换大全(CString转char*等)
- 两种UNICODE字符集和MBCS字符集之间的转换方法
- 字符集之间转换(UTF-8,UNICODE,Gb2312)