private void InitEncoder(byte[] input) { Base64Encoding.BuidLookupTableDictionnary(); source = input; length = input.Length; if ((length % 3) == 0) { paddingCount = 0; blockCount = length / 3; } else { paddingCount = 3 - (length % 3);//need to add padding blockCount = (length + paddingCount) / 3; } length2 = length + paddingCount;//or blockCount *3 }
private void InitDecoder(char[] input) { Base64Encoding.BuidLookupTableDictionnary(); input = Base64Encoding.DeleteUnvalidChars(input); int temp = 0; source = input; length = input.Length; for (int i = 0; i < 2; i++) { if (input[length - i - 1] == '=') { temp++; } } paddingCount = temp; blockCount = length / 4; length2 = blockCount * 3; }