CString 与char* 之间相互转化的函数 UnicodeToAnsi AnsiToUnicode
2013-07-18 02:09
483 查看
搞VS2010 里面碰到字符转化头疼得厉害 所有搜了一系列
发现主要是由于Ansi 和 Unicode 两种编码不兼容所以写了这两个函数 仅供参考,欢迎指责
CString UnicodeToAnsi(char recvBuf[100],int length)
{
CString strUnicode;
int n;
CString s;
recvBuf[length]=0;//判断字符串结束
WCHAR wch[1000];
n = MultiByteToWideChar( //转换Unicode到Ansi
936,
0,
recvBuf,
-1,
wch, //转换到缓冲区中
100000 //最多个字节
);
strUnicode=wch;
return strUnicode;
}
char* AnsiToUnicode(CString strUnicode)
{
int iSize;
char* pszMultiByte;
iSize = WideCharToMultiByte(CP_ACP, 0, strUnicode.GetBuffer(), -1, NULL, 0, NULL, NULL);
strUnicode.ReleaseBuffer();
pszMultiByte = new char[iSize+1];
WideCharToMultiByte(CP_ACP, 0, strUnicode.GetBuffer(), -1, pszMultiByte, iSize, NULL, NULL);
strUnicode.ReleaseBuffer();
return pszMultiByte;
}
发现主要是由于Ansi 和 Unicode 两种编码不兼容所以写了这两个函数 仅供参考,欢迎指责
CString UnicodeToAnsi(char recvBuf[100],int length)
{
CString strUnicode;
int n;
CString s;
recvBuf[length]=0;//判断字符串结束
WCHAR wch[1000];
n = MultiByteToWideChar( //转换Unicode到Ansi
936,
0,
recvBuf,
-1,
wch, //转换到缓冲区中
100000 //最多个字节
);
strUnicode=wch;
return strUnicode;
}
char* AnsiToUnicode(CString strUnicode)
{
int iSize;
char* pszMultiByte;
iSize = WideCharToMultiByte(CP_ACP, 0, strUnicode.GetBuffer(), -1, NULL, 0, NULL, NULL);
strUnicode.ReleaseBuffer();
pszMultiByte = new char[iSize+1];
WideCharToMultiByte(CP_ACP, 0, strUnicode.GetBuffer(), -1, pszMultiByte, iSize, NULL, NULL);
strUnicode.ReleaseBuffer();
return pszMultiByte;
}
相关文章推荐
- UNICODE 下CString与char*的相互转化
- 转载 ANSI、Unicode、UTF8相互转化的函数
- int与CString,char*与CString,float与CString之间的相互转化
- 几个多字节和UNICODE及UTF-8之间相互转化的函数
- 【转】wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....相互之间的转化
- ANSI、Unicode、UTF8相互转化的函数
- 如何实现int与CString,char*与CString,float与CString之间的相互转化
- int与CString,char*与CString,float与CString之间的相互转化
- CString与std::string unicode下相互转化
- MultiByteToWideChar和WideCharToMultiByte用法详解, ANSI和UNICODE之间的转换
- C++中 char*, string, CString, int, double之间相互的转换
- UNICODE下CString 和 const char* 的相互转化
- 简化wince中字符串ansi与unicode相互转化的函数
- Unicode数据类型(与ANSI关系和相互转化)
- ANSI,UNICODE, UTF-8 字符串之间的相互转换
- C++中ASCII、unicode与Utf8之间的相互转化
- Unicode数据类型(与ANSI关系和相互转化)
- 总结:string,char*,CString,int,WCHAR*之间的相互转换:
- UNICODE编码下,LPCTSTR,LPCWSTR,LPCSTR转化为char*,及他们的相互转换(不用CString)
- Unicode类型的CString转化为char*