Base64_解码 C
int change(char ch)    //解码表转换   转成2进制 由于小于64  所以最多6位二进制
{
    if( ch>='A'&&ch<='Z' )
        return ch-'A';
    if( ch>='a'&&ch<='z' )
        return ch-'a'+26;
    if( ch>='0'&&ch<='9' )
        return ch-'0'+52;
    if( ch=='+' )
        return 62;
    else
        return 63;
}


void base64(char str[],int len)    //将6位变成8位 不够从下一个数二进制补上   
{                                      //最后一个数位数不够 在末尾补上0 凑出8位二进制  
    int t=0;                           //将8位变成ASCII对应的值 输出 解码完成
    for(int i=0; i<len; i+=4)
    {
        s[t++]=((str[i]<<2)|(str[i+1]>>4));
        if(i+2 < len)
            s[t++]=((str[i+1]<<4)|(str[i+2]>>2));
        if(i+3 < len)
            s[t++]= ((str[i+2]<<6)|str[i+3]);
    }
    tot=t;
}

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/secretbase_/article/details/46812857
文章标签: base64
个人分类: 算法
想对作者说点什么? 我来说一句

base64_文件加密

2013年05月22日 15KB 下载

mp3解码源码(C语言)

2014年09月10日 35KB 下载

HDB3编码、解码程序

2018年04月11日 258KB 下载

C语言解码JPG图片源代码

2015年07月04日 17KB 下载

mp3的c语言解码程序

2009年04月11日 34KB 下载

没有更多推荐了,返回首页

不良信息举报

Base64_解码 C

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭