Может быть, полезно знать, почему это происходит и что означает "=" в этом случае, и использовать его в base64.
Ваше предположение, что функция base64decode обрезает строку за "==", находится в некоторомэто правильно, потому что base64decoder интерпретирует его как конец строки base64.
Важно знать, как работает символ "=" и что он больше похож на специальный символ в кодировке base64 и не имеет соответствующего символакоторый кодирует его.
Просто чтобы дать вам краткий обзор и не углубляться в эту тему:
Если функция base64encode получает строку в качестве входных данных для генерации строки в кодировке base64 Длина вводаСтрока должна делиться на 3. Если это не так, base64 автоматически добавляет символ заполнения "=" в конце строки, закодированной в base64, чтобы сообщить функции base64decoder, сколько байт потребовалось для заполнения входной строки до делимого на 3.Строка и то, что он может правильно расшифровать строку обратно в исходный Striн.:
Вы увидите символ "=" всегда в конце строки base64, если строка не кратна 3 и не кодирует какой-либо символ.