URL deconding URL解码
This task (the reverse of URL encoding and distinct from URL parser) is to provide a function or mechanism to convert an URL-encoded string into its original unencoded form.
中文:任务是给你一个编码后的url,将它解码为编码前的格式。
Cases:
"http%3A%2F%2Ffoo%20bar%2F" --> "http://foo bar/"
"google.com/search?q=%60Abdu%27l-Bah%C3%A1" --> "google.com/search?q=`Abdu'l-Bahá"
Solution:
编码的字符原则是:将所有的符号,编程%+该符号对应的16进制。只有找到所有的%16进制进行解码。
+ --> ' '
C/C++:
#include<stdio.h>
#include<string.h>//c++
#include<iostream>
#include<string>
#include "Poco/URI.h"using namespace std;inline int ishex(char x){//16return (x >= '0' && x <= '9') ||(x >= 'a' && x <= 'f') || (x >= 'A' && x<= 'F');
}int decode(const char *s, char *dev){char *o;const char *end = s + strlen(s);int c;for(o = dev; s<= end; o++){c = *s++;if(c == '+') c = ' ';else if (c == '%' && (!ishex( *s++) ||!ishex( *s++) ||!sscanf(s - 2, "%2x", &c))) //from s-2 start two chars in creturn 1;if(dev) *o = c;//}return o - dev; //length
}//c++ or g++
string decode(string encoded){string decoded;Poco::URI::decode(eccoded, decoded);return decoded;
}int main(){const char *url = "http%3A%2F%2ffoo+bar%2fabcd";string encoded("http%3A%2F%2ffoo+bar%2fabcd");char out[strlen(url) + 1]; //output decoded urlprintf("legth: %d\n", decode(url,0)); //get length of decoded url puts(decode(url,out) < 0 ? "bad string": out); cout<<decode(encoded)<<endl;return 0;
}
Java:
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;public class Main
{public static void main(String[] args) throws UnsupportedEncodingException{String encoded = "http%3A%2F%2Ffoo%20bar%2F";String normal = URLDecoder.decode(encoded, "utf-8");System.out.println(normal);}
}
Python3:
import urllib
print(urllib.parse.unquote("http%3A%2F%2Ffoo%20bar%2F"))
参考(copy):http://rosettacode.org/wiki/URL_decoding#C
URL deconding URL解码相关推荐
- python3编码和解码_python3的url编码和解码,自定义gbk、utf-8的例子
因为很多时候要涉及到url的编码和解码工作,所以自己制作了一个类,废话不多说 码上见! # coding:utf-8 import urllib.parse class Urlchuli(): &qu ...
- python3默认编码_python3的url编码和解码,自定义gbk、utf-8的例子
因为很多时候要涉及到url的编码和解码工作,所以自己制作了一个类,废话不多说 码上见! # coding:utf-8 import urllib.parse class Urlchuli(): &qu ...
- python 解码gbk_Python3的url编码和解码,自定义gbk、utf-8的例子
今天小编就为大家分享一篇python3的url编码和解码,自定义gbk.utf-8的例子,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 因为很多时候要涉及到url的编码和解码工作,所 ...
- python中的URL编码和解码
python中的URL编码和解码:test.py 1 # 引入urllib的request模块 2 import urllib.request 3 4 url = 'https://www.douba ...
- python url编码_python url编码和解码
一.为什么要进行Url编码 url带参数的请求格式为(举例): http://www.baidu.com/s?k1=v1&k2=v2 当请求数据为字典data = {k1:v1, k2:v2} ...
- iOS端URL编码和解码过程
一.URL含义 1.URL定义 URL 是Uniform Resource Locator 的缩写,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址 ...
- Javascript中的url编码与解码(详解)
摘要 本文主要针对URI编解码的相关问题做了介绍,对url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescap ...
- lua处理url编码与解码
参考 lua urlencode urldecode URL encoding(Others-Community)https://titanwolf.org/Network/Articles/Arti ...
- URL编码和解码 C++类URL编码和解码使用技巧
想了解C++类URL编码和解码使用技巧的相关内容吗,在本文为您仔细讲解URL编码和解码的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:URL编码,解码,下面大家一起来学习吧. 在项目开发过 ...
最新文章
- 使用 git 下载linux 源码
- C#学习 小知识_多态的简单实现_2018Oct
- thinkphp 微信服务器验证代码_基于ThinkPHP5微信后台管理平台
- Linux系统中CPU使用率查询常用的5个命令
- 今天狂想自杀,找了两个星期的工具,原来我已经有了。
- Android中已经添加权限,依然提示缺少权限,此时你需要添加动态权限
- PowerDesigner里面将表中name列值拷贝到comment列
- 这些数据库领域的大事你知道多少?
- 模拟登录(一次自动调转)
- 企业级nginx服务优化(三 )Apache+防盗链
- 快速阅读之眼球的训练
- 设计心理学读书笔记 之一 记忆的结构
- 微信小商店设置服务器,微信小商店绑定运营者微信号步骤流程
- python代码格式化工具下载_python 代码格式化工具:autopep8
- 两台计算机互相共享一个网络,两台电脑共用一个路由器上网,但两台电脑不能互相访问共享,怎样设置啊?两台电脑系统都XP的...
- APView500电能质量在线监测装置 谐波分析 电压不平衡
- 5G时代到底会发生什么
- Win10玩游戏时输入法引起的闪退解决办法
- Debian dns设置
- 微信小程序2D canvas绘制分享海报
热门文章
- 【Mac SSH】SSH连接工具finalShell推荐
- linux系统安装MySQL数据库安装保姆级教程及1045错误和2058问题解决
- 142.CSS 海盗船加载特效
- LeetCode 460. LFU缓存
- 京东云李道兵:对象存储的新挑战
- 企业管理员必看:企业邮箱如何注册?企业邮箱账号怎么管理?
- html5 渐变动画效果图,html5+css3城市场景动画_觉唯设计
- python根据x轴、y轴坐标在坐标轴里画出曲线图
- [2016 NUIST 程序设计竞赛] D. 达朗贝尔的台阶
- MacOSX安装OpenCC实现繁体字转简体字