Base64_解码 C

原创 2015年07月09日 10:04:15
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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C/C++ Base64编解码开源库

  • 2017年10月31日 23:43
  • 2KB
  • 下载

跨平台base64编解码程序带C源代码

  • 2010年12月23日 11:25
  • 219KB
  • 下载

Base64编解码算法详解(附C/C++源码)

Base64不是什么新奇的算法了,不过如果你没从事过页面开发(或者说动态页面开发,尤其是邮箱服务),你都不怎么了解过,只是听起来很熟悉。 对于黑客来说,Base64与MD5算法有着同样的位置,因为电...
  • prsniper
  • prsniper
  • 2011年12月23日 10:49
  • 10229

C/C++编写的base64编解码源码

  • 2014年05月08日 20:43
  • 2KB
  • 下载

Base64编解码(C)

/** * Base64.c */ #include #include"Base64.h" #include #include #include const char base[] = "ABC...

BASE64 编码解码 C代码

  • 2014年04月21日 10:01
  • 4KB
  • 下载

C#实现Base64编码与解码

一、编码规则       Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24 位数据,再把这24位数据分...

BASE64编码and解码的C实现

#include "stdio.h" #include "string.h" static char base64_encode_map[] = "ABCDEFGHIJKLMNOPQRSTUVWXY...

C/C++中使用Base64编码解码(使用boost库)

Base64是一种基于64个可打印字符来表示二进制数据的表示方法,从本质上看Base64编码就是将三字节转四字节。 如将字符串“Man”用Base64编码。 如果数据的长度不是3的整数倍,就要在后面...
  • qq0824
  • qq0824
  • 2017年07月10日 10:55
  • 323
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Base64_解码 C
举报原因:
原因补充:

(最多只允许输入30个字)