#include <stdio.h>
#include <string.h>
/**
* @brief URLEncode 对字符串URL编码
*
* @param str 原字符串
* @param strSize 原字符串长度(不包括最后的\0)
* @param result 结果缓冲区的地址
* @param resultSize 结果缓冲区的大小(包括最后的\0)
*
* @return: >0:resultstring 里实际有效的长度
* 0: 解码失败.
*/
int URLEncode(const char* str, const int strSize, char* result, const int resultSize)
{
int i;
int j = 0;//for result index
char ch;
if ((str==NULL) || (result==NULL) || (strSize<=0) || (resultSize<=0)) {
return 0;
}
for ( i=0; (i<strSize)&&(j<resultSize); ++i) {
ch = str[i];
if (((ch>='A') && (ch<'Z')) ||
((ch>='a') && (ch<'z')) ||
((ch>='0') && (ch<'9'))) {
result[j++] = ch;
} else if (ch == ' ') {
result[j++] = '+';
} else if (ch == '.' || ch == '-' || ch == '_' || ch == '*') {
result[j++] = ch;
} else {
if (j+3 < resultSize) {
sprintf(result+j, "%%%02X", (unsigned char)ch);
j += 3;
} else {
return 0;
}
}
}
result[j] = '\0';
return j;
}
int main(int argc, char* argv[])
{
char* src = argv[1];
unsigned int srclength = strlen(src);
printf("src length: %d\n", strlen(src));
char obj[100] = {0};
URLEncode(src, srclength, obj, 100);
printf("obj: %s\n", obj);
printf("obj: %d\n", strlen(obj));
return 0;
}
分享到:
相关推荐
本文用C++来实现UrlEncode!
J2ME 实现的 UrlEncode编码 J2ME 实现的 UrlEncode编码 J2ME 实现的 UrlEncode编码
c语言实现aes ecb模式加密,可以和java,c#,obj-c互相 加,解密。包含base64编码,urlEncode编码 注意,该算法里面的密文是转换成16进制的字串,如果不要16进制,可自行转换,内的函数。 vc6,vs2008,可编译。
某些C编译器没有包含utf8形式的url编解码函数,这里自己写了一个。 压缩包中包含.h文件,核心的.cpp文件以及编译好的.dll库。... 注意,该动态库使用时,要求目标机上安装有.net framework3.5 对于win7系统而言,可以...
在网站开发过程中,使用汉字传输会导致有时URL会出现乱码的问题,可通过urlencode对中文进行编码,然后再解码,避免出现乱码,此函数加密的字符串可通过php的urldecode进行解码
项目是在UNICODE环境下,需要用到URLEncode功能,多字节下的代码不能正常使用,此代码实现UNICODE环境下的URLEncode
Laravel开发-urlencode 允许在路由参数中使用urlencoded斜杠等
urlencode urldecode实现,在xcode里使用c++混编
JS版 UrlEncode 和 UrlDecode 函数
自己写的,可能有bug,请大家一块学习 环境为PB12 函数(及参数) 作用 arraysort 对一维数组进行排序 decto 将十进制数字转成其它进制字符串 ...urlencode 将指定字符串以进行指定字符集url编码 涨价了,哈哈
URLEncode 转换编码。
UrlEncode编码转换.zip
C++支持MFC的类,HTTP请求链接转UTF-8 CURLEncode URLEnCode; CString szURL URLEnCode.URLEncode(szURL), .
网络传输文本,urlEncode和decode的实现。 在vs 2005上通过实验。
winform的字符串转换 UrlEncode
javascript,UrlEncode编码通用类
urlEncode or urlDecode
base64_encode urlencode 源码,可以根据需求稍作修改便能实现功能
用js自定义函数写的实现url加密解密的实现代码,需要的朋友可以参考下
主要介绍了ASP中实现的URLEncode、URLDecode自定义函数,和ASP自带的server.urlencode是不一样的哦,需要的朋友可以参考下