用c++实现urlencode
来源:互联网 发布:英语口语软件下载 编辑:程序博客网 时间:2024/05/22 03:13
用C++来实现UrlEncode
----wuhui
在php里面实现urlencode是异常简单的事情,但是,想在c++中实现这个功能,可能得自己开发了。
基于这个需要,我在网上逛了一趟,找到了一个比较好的实现,并封装成一个小工具,大家以后就方便了。
#ifndef __H_CURL_ENCODE_H__
#define __H_CURL_ENCODE_H__
/*
URLEncode是这样编码的
1。数字和字母不变。
2。空格变为"+"号。
3。其他被编码成"%"加上他们的ascii的十六进制,规律是这样的
比如“啊”字 Ascii的十六进制是B0A1——>%B0%A1(Note:它是每个字节前加个%)。
*/
#include <iostream>
#include <string>
#include <fstream>
#include <ctype.h>
#include <stdlib.h>
using namespace std;
namespace ctool
{
typedef unsigned char BYTE;
inline BYTE toHex(const BYTE &x)
{
return x > 9 ? x + 55: x + 48;
}
inline string URLEncode(const string &sIn)
{
// cout << "size: " << sIn.size() << endl;
string sOut;
for( size_t ix = 0; ix < sIn.size(); ix++ )
{
BYTE buf[4];
memset( buf, 0, 4 );
if( isalnum( (BYTE)sIn[ix] ) )
{
buf[0] = sIn[ix];
}
else if ( isspace( (BYTE)sIn[ix] ) )
{
buf[0] = '+';
}
else
{
buf[0] = '%';
buf[1] = toHex( (BYTE)sIn[ix] >> 4 );
buf[2] = toHex( (BYTE)sIn[ix] % 16);
}
sOut += (char *)buf;
}
return sOut;
};
}
#endif
- c实现的urlencode
- c语言urlEncode实现
- (C++)UrlEncode的标准实现
- (C++)UrlEncode的标准实现
- (C++)UrlEncode的标准实现
- (C++)UrlEncode的标准实现
- (C++)UrlEncode的标准实现
- (C++)UrlEncode的标准实现
- (C++)UrlEncode的标准实现
- (C++)UrlEncode的标准实现
- 用c++实现urlencode
- 用c++实现urlencode
- URLDecode 和 URLEncode 在 C 中的实现中的 URLEncode
- URLDecode 和 URLEncode 在 C 中的实现
- 一个urlencode/urldecode的C实现
- C语言实现urlencode和decode
- c语言实现urlencode和decode
- (C++)UrlEncode的标准实现 libcul
- sqlserver高手回顾总结篇
- 软件测试技巧
- 一个不错的js验证框架
- Log4Net使用指南
- C编程题(31)
- 用c++实现urlencode
- php 解析html
- php 动态生成图片
- paint()方法与paintComponent()方法的区别
- 让Jena帮我们想
- 界面风格与测试的必要规则
- 测试用例设计如何避误
- 得到函数 RVA
- NBA中的1号位,2号位......是指什么?