Base64编码及解码长度的计算问题.
//获取Base64编码长度
int CMailCoder::Base64EncodeSize(int iSize)
{
int nSize, nCR;
nSize = (iSize + 2) / 3 * 4 ;
nCR = nSize / m_LineWidth; //计算回车数量
nSize+= nCR * 2;
return nSize;
}
//获取Base64解码长度
int CMailCoder::Base64DecodeSize(int iSize)
{
return (iSize +3) / 4 * 3;
}
上面两个是我的Base64编码和解码长度计算涵数,其中解码是计算的长度有问题,得到的长度比实际需要的长,导致解码后字符串后加入了一个乱码自负.请大家纠正.