elva
VC 实现 汉字 GBK(GB2312) 转化为 UTF8 编码
void
ConvertUtf8ToGBK(CString
&
strUtf8)
{
int
len
=
MultiByteToWideChar(CP_UTF8,
0
, (LPCTSTR)strUtf8,
-
1
, NULL,
0
);
unsigned
short
*
wszGBK
=
new
unsigned
short
[len
+
1
];
memset(wszGBK,
0
, len
*
2
+
2
);
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;
}
void
ConvertGBKToUtf8(CString
&
strGBK)
{
int
len
=
MultiByteToWideChar(CP_ACP,
0
, (LPCTSTR)strGBK,
-
1
, NULL,
0
);
unsigned
short
*
wszUtf8
=
new
unsigned
short
[len
+
1
];
memset(wszUtf8,
0
, len
*
2
+
2
);
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;
}
posted on 2008-04-17 16:38
叶子
阅读(3641)
评论(0)
编辑
收藏
引用
所属分类:
C\C++
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
__attribute__((deprecated))
gdb中忽略信号处理
c语言常量
多线程程序中操作的原子性
关于多线程同步的问题
C++类型转换
函数模板和类模板
如何在C函数中传递指向二维数组的指针参数
pthread_kill
[转]Linux 的多线程编程的高效开发经验
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
导航
首页
联系
聚合
管理
统计信息
随笔 - 202
文章 - 1
评论 - 115
Trackbacks - 0
News
当你对某个领域感兴趣时,你会在走路、上课或洗澡时都对它念念不忘,你在该领域内就更容易取得成功。更进一步,如果你对该领域有激情,你就可能为它废寝忘食,连睡觉时想起一个主意,都会跳起来
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(19)
给我留言
查看公开留言
查看私人留言
随笔分类
Ajax(2)
(RSS)
ASP(13)
(RSS)
C\C++(55)
(RSS)
MPEG(23)
(RSS)
Oracle(1)
(RSS)
rootkit(3)
(RSS)
SQl(1)
(RSS)
Unix(20)
(RSS)
Web Service(4)
(RSS)
XML(2)
(RSS)
技术研究(17)
(RSS)
驱动开发(9)
(RSS)
日志(1)
(RSS)
数据结构(5)
(RSS)
随记(11)
(RSS)
外挂技术(1)
(RSS)
网络安全(16)
(RSS)
网络编程(4)
(RSS)
网络分析(2)
(RSS)
系统管理(13)
(RSS)
随笔档案
2013年11月 (1)
2013年5月 (1)
2012年5月 (1)
2012年4月 (1)
2012年2月 (1)
2012年1月 (1)
2011年12月 (1)
2011年11月 (2)
2011年2月 (2)
2011年1月 (4)
2010年11月 (4)
2010年10月 (5)
2010年9月 (2)
2010年8月 (10)
2010年7月 (1)
2010年6月 (2)
2010年5月 (1)
2010年4月 (3)
2010年3月 (3)
2010年1月 (1)
2009年10月 (3)
2009年9月 (2)
2009年8月 (6)
2009年7月 (7)
2009年6月 (1)
2009年5月 (2)
2009年4月 (1)
2009年3月 (4)
2009年2月 (2)
2009年1月 (1)
2008年12月 (1)
2008年11月 (3)
2008年10月 (2)
2008年9月 (2)
2008年8月 (3)
2008年7月 (2)
2008年6月 (3)
2008年5月 (3)
2008年4月 (4)
2008年3月 (9)
2008年2月 (8)
2008年1月 (1)
2007年12月 (5)
2007年11月 (1)
2007年10月 (6)
2007年9月 (5)
2007年8月 (7)
2007年7月 (8)
2007年6月 (6)
2007年5月 (45)
2007年4月 (2)
相册
1
2
3
other
Links
baicker
heartdbg
osronline
www.codeproject.com
www.foundstone.com
www.rootkit.com
www.xfocus.net
搜索
最新评论
1. re: 关于多线程同步的问题
。。。体会到加锁的本质了,天然的“原子”操作可以不加锁(我觉得前提是只有一个处理器)。但是如果有多个处理器呢。。
--bauerctu
2. re: 利用NtUnmapViewOfSection强制卸载模块 [未登录]
评论内容较长,点击标题查看
--小学毕业生
3. re: 如何在C函数中传递指向二维数组的指针参数
楼主错误,你讲的是指针数组和C语言中的二维数组不是一个东西
--samba_no
4. re: TS OVER IP的多画面合成[未登录]
nice
--wang
5. re: 细说 #pragma pack(n)
评论内容较长,点击标题查看
--Jacc.Kim
Powered by:
C++博客
Copyright © 叶子