1-Нет
2- В качестве краткого ответа: 65-й символ (знак "=") используется только в качестве дополнения в конечном процессе кодирования сообщения.
У вас не будет знака «=», если ваша строка имеет кратное число из 3 символов, потому что Base64
кодирование занимает каждые три байта (8 бит) и представляет их как четыре печатных символа в стандарте ASCII.
Подробности :
(а) Если вы хотите кодировать
ABCDEFG <=> [ ABC
] [ DEF
] [G
Base64
будет иметь дело (производя 4 символа) с первым блоком и вторым (так как они завершены), но для третьего он добавит двойное число ==
в вывод, чтобы завершить 4 необходимых символа. Таким образом , результатом будет QUJD REVG Rw == (без пробела)
(б) Если вы хотите кодировать ...
ABCDEFGH <=> [ ABC
] [ DEF
] [GH
Точно так же это добавит только один =
в конце вывода, чтобы получить 4 символа, результат будет QUJD REVG R0g = (без пробела)