greatws
C/C++/VC++——不怕做不到,只怕想不到
Email:greatws # 163.com
QQ:34607100
C++博客
首页
新随笔
联系
聚合
管理
随笔-16 评论-116 文章-0 trackbacks-0
UTF8 URL的字符串转换
转载请注明出处
http://www.cppblog.com/greatws/archive/2008/09/23/62621.html
网页常常是UTF8的,而我们用VC用Wininet相关API POST数据时,有中文的话,经常是%XX%XX%XX这种形式,这样的话,就能方便做出在线翻译之类的小软件,HOHO
所以写了个UTF8 URL编码转换函数
BOOL ConvertStringToURLCoding(CString
&
strDest,
const
char
*
strUTF8,
int
iLength)
{
strDest.Empty();
CString strTemp;
int
i
=
0
;
while
(i
<
iLength)
{
if
((unsigned)strUTF8[i]
<=
(unsigned
char
)
0x7f
)
{ //字母和数字不转换
if
((strUTF8[i]
>=
'
0
'
&&
strUTF8[i]
<=
'
9
'
)
||
(strUTF8[i]
>=
'
A
'
&&
strUTF8[i]
<=
'
Z
'
)
||
(strUTF8[i]
>=
'
a
'
&&
strUTF8[i]
<=
'
z
'
))
{
strDest
+=
(
char
)strUTF8[i];
}
else
if
(strUTF8[i]
==
'
'
) //空格转换成+号
{
strDest
+=
'
+
'
;
}
else
{
strTemp.Format(
"
%%%02X
"
, (unsigned
char
)strUTF8[i]); //其他标点符号
strDest
+=
strTemp;
}
i
++
;
}
else
{ //汉字或者其他的uft8文字,每3个字节一转
strTemp.Format(
"
%%%02X%%%02X%%%02X
"
, (unsigned
char
)strUTF8[i],
(unsigned
char
)strUTF8[i
+
1
], (unsigned
char
)strUTF8[i
+
2
]);
strDest
+=
strTemp;
i
+=
3
;
}
}
if
(i
==
0
)
{
return
FALSE;
}
return
TRUE;
}
by greatws
posted on 2008-09-23 19:51
greatws
阅读(5178)
评论(1)
编辑
收藏
引用
评论:
#
re: UTF8 URL的字符串转换
2014-09-23 14:21 |
的撒
我看到
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2008年11月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(8)
给我留言
查看公开留言
查看私人留言
随笔档案
2019年8月 (1)
2009年6月 (1)
2009年5月 (1)
2008年12月 (1)
2008年10月 (1)
2008年9月 (4)
2008年8月 (3)
2008年5月 (1)
2008年4月 (3)
积分与排名
积分 - 81620
排名 - 288
最新评论
1. re: UTF8 URL的字符串转换
我看到
--的撒
2. re: OLE操作Excel编译错误处理
楼主动手能力很强啊
--bluechen
3. re: Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
评论内容较长,点击标题查看
--home page
4. re: Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
很详细,很不懂Ansi、Unicode、UTF8字符串之间的转换,今天学习了。可是博主的文章,为什么都不更新啊。
--slip ring
5. re: Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
http://www.moflon.com
--slip rings
评论排行榜
1. 谈谈C/C++和.NET以后的走向(27)
2. Ansi、Unicode、UTF8字符串之间的转换和写入文本文件(26)
3. QQ找茬辅助工具的制作(15)
4. 今天做了个小试验,类成员变量的初始化,发现放在参数列表和构造函数体内是一样的(12)
5. 被忽悠了,一直以为lea和mov指令差不多的,今天算是知道了,顺便测试了下C内联汇编的效率(12)