1-Ні
2- Як коротка відповідь: 65-й символ (знак "=") використовується лише як доповнення в остаточному процесі кодування повідомлення.
У вас не буде знаку '=', якщо ваша рядок має кратне число з 3 символів, оскільки Base64
кодування займає кожні три байти (8 біт) і представляє їх як чотири символи для друку у стандарті ASCII.
Деталі:
(а) Якщо ви хочете кодувати
ABCDEFG <=> [ ABC
] [ DEF
] [G
Base64
буде мати справу (виробляючи 4 символи) з першим блоком і другим (у міру їх завершення), але для третього він додасть подвійний ==
у висновку, щоб заповнити 4 потрібні символи. Отже , результат буде QUJD REVG Rw == (без місця)
(b) Якщо ви хочете кодувати ...
ABCDEFGH <=> [ ABC
] [ DEF
] [GH
Аналогічно, він додасть лише одну =
в кінці виводу, щоб отримати 4 символи, результатом буде QUJD REVG R0g = (без місця)