unsigned int CBase64::CalculateRecquiredEncodeOutputBufferSize (unsigned int p_InputByteCount)
{
div_t result = div (p_InputByteCount, 3); unsigned int RecquiredBytes = 0;
if (result.rem == 0)
{
// Number of encoded characters
RecquiredBytes = result.quot * 4; // CRLF -> "\r\n" each 76 characters
result = div (RecquiredBytes, 76);
RecquiredBytes += result.quot * 2; // Terminating null for the Encoded String
RecquiredBytes += 1; return RecquiredBytes;
}
else
{
// Number of encoded characters
RecquiredBytes = result.quot * 4 + 4;//这边怎么是这样的?,为什么要加四 // CRLF -> "\r\n" each 76 characters
result = div (RecquiredBytes, 76);
RecquiredBytes += result.quot * 2; // Terminating null for the Encoded String
RecquiredBytes += 1; return RecquiredBytes;
}
}