文档章节

urldecode

 代码强国
发布于 2017/09/11 17:17
字数 331
阅读 6
收藏 0
static const int hex[] = { 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
     0,  1,  2,  3,  4,  5,  6,  7,  8,  9, -1, -1, -1, -1, -1, -1, 
    -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
};

std::string urldecode(const std::string &str)
{
    std::string ret;
    unsigned char a, b, ch; 
    for (std::size_t i = 0; i < str.length(); ++i)
    {
        ch = str[i];
        switch (ch)
        {
        case '+':
            ret += ' '; 
            break;
        case '%':
            if (i + 2 < str.length())
            {
                a = str[i + 1];
                b = str[i + 2];
                if (hex[a] >= 0 && hex[b] >= 0)
                {
                    ret += (hex[a] << 4 | hex[b]);
                    i += 2;
                }
                else
                    ret += '%';
            }
            else
                ret += '%';
            break;
        default:
            ret += ch;
            break;
        }
    }
    return ret;
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: SICP 3.22 3.23
下一篇: SICP 3.17 3.18
粉丝 1
博文 47
码字总数 9603
作品 0
深圳
私信 提问
python中的urlencode与urldecode

当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至'/'做一下编码转换。 一、urlencode urllib库里面...

君君君君
04/16
0
0
rawurlencode() urlencode() 函数 分析

rawurlencode string rawurlencode ( string $str ) 返回字符串,此字符串中除了 -. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。这是在 RFC 1738 中描述的编码,是...

BearCatYN
2015/03/26
0
0
urlencode()与urldecode()函数

string urlencode ( string $str ) — 编码 URL 字符串此函数便于将字符串编码 并将 其用于 URL 的请求部分,同时它还便于将变量传递给下一页。作用:对 url 加密 与 解密 ,其实就是对url中字...

ITCHN
2016/12/20
4
0
php的加密函数 md5,crypt,base64_encode 等使用介绍

php 在做注册、登录或是url 传递参数时都会用到 字符变量的加密,下面我们就来简单的介绍下:php 自带的加密函数 不可逆的加密函数为:md5()、crypt() md5() 用来计算 MD5 哈稀。语法为:str...

Junn
2013/01/24
0
0
php获取js设置的cookie,解决无法得到中文的问题。

我用的是phpcms v9. 1、修改cookie.js中的setcookie函数,将escape换成encodeURI。 2、在php中使用urldecode函数。如:$name=urldecode($_COOKIE['name'])....

wushan37
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

solr使用规范

0. 目的 规范solr设计、用法,避免bug,提高性能 1. 设计规范 solr的用途是查询,不是存储,建议查询结果尽量都为id主键,而后再拿该id主键到缓存或者db中再查询相关信息,例如:请勿将经销商...

andersChow
9分钟前
1
0
11-《深度拆解JVM》之Java对象的内存布局

一、问题引入 在 Java 程序中,我们拥有多种新建对象的方式。除了最为常见的 new 语句之外,我们还可以通过反射机制、Object.clone 方法、反序列化以及 Unsafe.allocateInstance 方法来新建对...

飞鱼说编程
14分钟前
1
0
Windows Install Docker

win7、win8 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker toolbox...

linuxprobe16
18分钟前
0
0
混合云环境中扩展Kubernetes的挑战及方案

流量突增时,我们需要扩展应用程序以满足用户需求。本文分享了扩展Kubernetes以及管理混合云环境时可能遇到的挑战,以及如何简单高效地完成Kubernetes扩展。 引 言 假设您的业务是在线的:您...

RancherLabs
26分钟前
1
0
Java集合小抄

Java集合小抄 1. List 1.1 ArrayList 以数组实现。节约空间,但是数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一...

傅小水water
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部