文档章节

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;
}

 

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 46
码字总数 8491
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

C++ gflags

###定义参数 gflags主要支持的参数类型包括bool,int32, int64, uint64, double, string等,定义参数通过DEFINE_type宏实现, 该宏的三个参数含义分别为命令行参数名,参数默认值,以及参数的...

SibylY
18分钟前
0
0
intellij IDEA Properties中文unicode转码问题

在IDEA中创建了properties文件,发现默认中文不会自动进行unicode转码。如下 在project settings - File Encoding,在标红的选项上打上勾,确定即可 效果图如下: unicode转码后效果...

muzi1994
19分钟前
0
0
Java IO类库之PipedWriter

一、PipedWriter介绍 PipedWriter是字符管道输出流,继承自Writer,功能与PipedOutputStream类似,通过与PipedReader组合使用实现类似管道的功能,在多线程环境下,一个线程使用PipedWriter...

老韭菜
23分钟前
0
0
精简分页组件(手写)

需要引入CSS(没错就是这4行) .pagelist { text-align: center; color: #666; width: 100%; clear: both; margin: 20px 0; padding-top: 20px }.pagelist a { color: #666; margin: 0 2px;......

AK灬
23分钟前
3
0
29 岁成为阿里巴巴 P8,工作前 5 年完成晋升 3 连跳,他如何做到?

泡泡是我的好朋友。今年 31 岁,毕业后就进了阿里巴巴,工作五年内从 P4 晋升至 P6、P7、P8。 和他很少聊到工作,但总觉得他有很棒的职场心得,应该分享出来,于是有了这次采访。希望对职场新...

Java填坑之路
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部