zoukankan      html  css  js  c++  java
  • url解码

    最近在做流量分析的项目。需要将url解码。写了个代码,先存一下,有时间再仔细写写。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    char ascii_to_char(char src);
    
    char* url_decode(const char* src,char* dst,int len);
    int main(int argc,char* argv[])
    {
        char* src = "%E6%98%A5%E8%8A%82";
        int len = strlen(src);
        char *dst = (char*)malloc(len+1);
        url_decode(src,dst,len);
    
        puts(dst);
    
        if(!dst)
        {
            free(dst);
        }
        return 0;
    
    }
    //将字符形式的ascii码转换成对应的整型的ascii吗
    char ascii_to_char(char src)
    {
        
        if(src >= 'A' && src <= 'F')
        {
            src-=55;
        }
        else if( src >= '0' && src <= '9')
        {
            src-=48;
        }
        else
        {
            return -1;
        }
        return src;
    }
    
    
    
    char* url_decode(const char* src,char* dst,int len)
    {
        
        
        //char* temp = (char*)malloc(len+1);
        
        
        
    
        //strncpy(temp,src,len+1);
    
        int i=0;
        int j=0;
        for(;i<len;)
        {
            if( src[i] == '%' )
            {
                i++;
                dst[j]= ( ((  ascii_to_char(src[i])) << 4) | ( ascii_to_char(src[i+1]) ) );
                j++;
                i+=2;
            }
            else
            {
                dst[j]=src[i];
                i++;
                j++;
            }
        }
        dst[j]='';
    
        return dst;
    }
  • 相关阅读:
    机器学习之线性回归
    最长回文字串——manacher算法
    linux系统下pdf操作软件pdftk
    markdown表格
    3.9 标准化,让运营数据落入相同的范围
    3.numpy_array数组
    4. 归并排序和快速排序
    3.病毒分裂
    2. 大整数乘法
    1.单峰序列
  • 原文地址:https://www.cnblogs.com/qingergege/p/5990866.html
Copyright © 2011-2022 走看看