C++ 字符串UTF8与GBK转化
来源:互联网 发布:南京 网络问政 编辑:程序博客网 时间:2024/06/04 19:27
//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;
}
原文地址:http://blog.csdn.net/segen_jaa/article/details/6447874
- 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 )
- C++如何获取当前时间并转换成相应的格式字符串
- linux里自己安装DNS配置 的步奏和理解
- 叫不叫大数据无所谓,贵在坚持
- OC中的常见关键字及一些基础概念
- JS中改变时间
- C++ 字符串UTF8与GBK转化
- HDU 1559 最大子矩阵
- win7 64位系统 注册 ocx控件
- 学习日记-策略模式
- 配置NDK syntax error: unexpected end of file 解决
- 谈学习中的改变——有病要诊断,有药要服用
- JavaScript中Array(数组)的属性和方法
- JSP网站利用花生壳在公网上进行访问
- java中Exception in thread "main" java.util.NoSuchElementException