C语言实现Url编解码接口

本文详细介绍了如何使用C语言实现URL编码和解码的接口,内容来源于网络,旨在帮助理解HTTP URL数据的处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载地址:https://www.cnblogs.com/aricgreen/articles/2170238.html

对http的url数据进行编码解码接口:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#define NON_NUM '0'

char Char2Num(char ch){
	if(ch>='0' && ch<='9')return (char)(ch-'0');
	if(ch>='a' && ch<='f')return (char)(ch-'a'+10);
	if(ch>='A' && ch<='F')return (char)(ch-'A'+10);
	return NON_NUM;
}

/************************************************
* 把字符串进行URL编码。
* 输入:
* 	str: 要编码的字符串
* 	strSize: 字符串的长度。这样str中可以是二进制数据
* 	result: 结果缓冲区的地址
* 	resultSize:结果地址的缓冲区大小(如果str所有字符都编码,该值为strSize*3)
* 返回值:
* 	>0: result中实际有效的字符长度,
* 	0: 编码失败,原因是结果缓冲区result的长度太小
************************************************/
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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值