c语言 解析URL参数,[HTTP]_[C/C++]_[解析URL的转义字符百分比字符串]

场景:

1.有时候获取一个超链接时,或者一个图片src时,里面的地址带有%XX,这样如果当成文件路径处理会不识别。所以要把转义字符解码。

2.它其实就是ASCII码的十六进制表示。

以下是stackoverflow提供的一个实现,很久以前找的,找不到原文了。添加了一些单元测试.

#include

#include

#include

#include

#include

#include

std::string UrlDecode(std::string &SRC)

{

std::string ret;

char ch;

int ii;

for (size_t i=0; i

if (int(SRC[i])==37) {

sscanf(SRC.substr(i+1,2).c_str(), "%x", &ii);

ch=static_cast(ii);

ret+=ch;

i=i+2;

} else {

ret+=SRC[i];

}

}

return (ret);

}

int main(int argc, char *argv[])

{

printf("Hello, world\n");

std::string file_path = "C:\\Program%20File\\";

std::string str = UrlDecode(file_path);

assert(!strcmp(str.c_str(),"C:\\Program File\\"));

return 0;

}

C/C++.【转】解析URL的转义字符百分比(%)字符串

1.来自:[HTTP]_[C_C++]_[解析URL的转义字符百分比字符串] - 猪一戒 - 博客园.html(http://www.cnblogs.com/zhuyijie/p/6465303.ht ...

PHP 中解析 url 并得到 url 参数

这里介绍两种对url操作的方法: 1.拿到一个完整url后,如何解析该url得到里面的参数. /** * 解析url中参数信息,返回参数数组 */ function convertUrlQuery($ ...

解析URL参数

1.拿到一个完整url后,如何解析该url得到里面的参数. /** * 解析url中参数信息,返回参数数组 */ function convertUrlQuery($query) { $queryPa ...

PHP的学习--解析URL

PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str. parse_url 解析 URL,返回其组成部分 mixed parse_url ( string $url [, ...

Spring_MVC_教程_快速入门_深入分析

Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...

php使用http_build_query,parse_url,parse_str创建与解析url详解

1.http_build_query string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $ ...

php parse_url 解析URL并返回其组成部分

[导读] php parse_url 函数教程parse_url ( PHP 4中, PHP 5中) parse_url -解析URL并返回其组成部分 描述 混合parse_url (字符串$网址[摘 ...

权限模块_使用权限_实现主页面的效果_显示左侧菜单&只显示有权限的菜单项

权限模块__使用权限__实现主页面的效果 HomeAction.java public class HomeAction extends ActionSupport { public String i ...

[Zlib]_[0基础]_[使用zlib库压缩文件]

场景: 1. WIndows上没找到系统提供的win32 api来生成zip压缩文件, 有知道的大牛麻烦留个言. 2. zlib比較经常使用,编译也方便,使用它来做压缩吧. MacOSX平台默认支持z ...

随机推荐

IEEE浮点标准

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值