В base64, что произойдет, если символ, который вы хотите закодировать, не является AZ, az, + или /?
Если я хотел закодировать URL в base64, в котором есть двоеточие (:), чтопроизойдет, так как его нет в индексе base64.
Вы смешиваете стороны кодирования и декодирования. Base64 может кодировать любой символ. Это только декодирование, которое требует ограниченного набора.
Вы можете закодировать любую последовательность байтов в base64.Все полученные символы будут в разрешенных 64 символах.И, конечно, при декодировании закодированного текста должен быть действительный Base64.
Сказать, что он кодирует любой символ, немного ошибочно, поскольку символы должны сначала быть закодированы в байты.Символ и байт эквивалентны только для нескольких кодировок, таких как ASCII.
Я думаю, что вы все путаете - Base64 может кодировать НИЧЕГО , эти пределы просто определяют, как выглядит фактическая закодированная строка.
Так что ничего не произойдет, если вы закодируетедвоеточие в Base64.Однако, если вы попытаетесь декодировать двоеточие, это, скорее всего, приведет к ошибке.