base64解码详解

上一节详细的解释了编码的过程,本节将介绍一下解码的过程。可以说解码就是编码的你过程,具体的代码如下:

int FindPos(const char needChar)
{//base64的ascii表和一般的ascii表不同
	const char *chKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";//base64的ascii表
	for (int i=0;i<64;++i)
	{
		if (needChar == chKey[i])
		{
			break;
		}
	}
	return i;
}
std::string Basic_64::GetPeriorStr(std::string& readyChangeStr)
{//解码的过程只是编码的逆过程
	if (readyChangeStr.empty())
	{
		return "";
	}
	/**************************
	如果遇到==,就不用处理该字节,处理其余的字节即可
	**************************/
	std::string sNeedString=readyChangeStr;//保留原来的字符串(不能改变用户传递的参数)
	while(sNeedString.find("=")!=-1)
	{
		sNeedString.replace(sNeedString.length()-1,sNeedString.length()-1,"");
	}
	int stringLen=sNeedString.length();
	if (stringLen <= 0)
	{
		return "";
	}
	char tempchar=
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值