zoukankan      html  css  js  c++  java
  • C/C++.【转】解析URL的转义字符百分比(%)字符串

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

    2、使用环境:我在 使用 libxml2的时候,遇到 文件编码不对,它在报错输出文件名的时候 如果文件名中有中文 则使用的就是URL的转义字符串(带%),肉眼看不出来是什么文字,转以后 才看得懂...

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <string>
    #include <windows.h>
    #include <assert.h>
    
    std::string UrlDecode(std::string &SRC)
    {
        std::string ret;
        char ch;
        int ii;
        for (size_t i=0; i<SRC.length(); i++) {
            if (int(SRC[i])==37) {
                sscanf(SRC.substr(i+1,2).c_str(), "%x", &ii);
                ch=static_cast<char>(ii);
                ret+=ch;
                i=i+2;
            } else {
                ret+=SRC[i];
            }
        }
        return (ret);
    }
    
    
    int main(int argc, char *argv[])
    {
        printf("Hello, world
    ");
        std::string file_path = "C:\Program%20File\";
        
        std::string str = UrlDecode(file_path);
        assert(!strcmp(str.c_str(),"C:\Program File\"));
        
        return 0;
    }

    3、

    4、

    5、

  • 相关阅读:
    多表查询 left join
    对JS关于对象创建的几种方式的整理
    常见正则表达式
    spring
    富文本编辑器
    Struts2快速入门
    一个MySql Sql 优化技巧分享
    maven
    day3
    Spring MVC
  • 原文地址:https://www.cnblogs.com/cppskill/p/10074965.html
Copyright © 2011-2022 走看看