C++ 字符串UTF8与GBK转化
来源:互联网 发布:思锐汽车配件软件 编辑:程序博客网 时间:2024/05/22 08:22
//UTF8转化为GBK格式
void ConvertUtf8ToGBK(CString &strUtf8)
{
int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0);
wchar_t * wszGBK = new wchar_t[len];
memset(wszGBK,0,len);
MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, wszGBK, len);
len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);
char *szGBK=new char[len + 1];
memset(szGBK, 0, len + 1);
WideCharToMultiByte (CP_ACP, 0, wszGBK, -1, szGBK, len, NULL,NULL);
strUtf8 = szGBK;
delete[] szGBK;
delete[] wszGBK;
}
//GBK转化为UTF8格式
void ConvertGBKToUtf8(CString &strGBK)
{
int len=MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, NULL,0);
wchar_t * wszUtf8 = new wchar_t [len];
memset(wszUtf8, 0, len);
MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)strGBK, -1, wszUtf8, len);
len = WideCharToMultiByte(CP_UTF8, 0, wszUtf8, -1, NULL, 0, NULL, NULL);
char *szUtf8=new char[len + 1];
memset(szUtf8, 0, len + 1);
WideCharToMultiByte (CP_UTF8, 0, wszUtf8, -1, szUtf8, len, NULL,NULL);
strGBK = szUtf8;
delete[] szUtf8;
delete[] wszUtf8;
}
- C++ 字符串UTF8与GBK转化
- C++ 字符串UTF8与GBK转化
- C++ 字符串UTF8与GBK转化
- GBK与UTF8 编码转化(C++)
- 编程中gbk与utf8的转化
- VC GBK与UTF8字符串的转换
- 字符串转化成为utf8 Encoding (c#)
- GBK(GB2312) 转化为 UTF8
- utf8与gbk互转
- UTF8与GBK间转码
- GBK与UTF8
- VC中GBK与UTF8字符串的转换
- VC中GBK与UTF8字符串的转换
- 说说 javascript 中的字符串 与 unicode , utf8, gbk
- VC中GBK与UTF8字符串的转换
- VC中GBK与UTF8字符串的转换
- VC中GBK与UTF8字符串的转换
- C/C++ 各种字符编码字符串的转换 可用于XML文件的字符转化读写 (收集 GBK - UTF8 - Unicode - ANSI )
- zzuli 1524 美观化文字
- PASCAL 比 c++ 略慢 几万倍
- 国债企债继续上行 长债投资热情较高
- 最近正在写规则
- 关于skin++
- C++ 字符串UTF8与GBK转化
- 如何用perform selector调用超过两个以上参数的方法
- 积极推动上市银行 进入交易所债市
- 当大格局遇到小格局
- 如何实现在页面中添加图片并马上显示出来
- 团队做项目该怎样分工
- oracle连接 左右
- 字符编码
- Source insight中文注释间隔太大的解决办法