Подтвердить что ты не робот

Разрешенные символы в кодировке Base64

Я использую кодировку Base64 для кодирования поля идентификатора пользователя в Java.

String abc = new String(Base64.encodeBase64("Actualuseridfield"));

Я хочу знать, будет ли строка abc выше содержать символ ",: или нет?

Когда строка в кодировке Base64 возвращается в abc, будет ли она когда-либо содержать символы ниже?

" <double quote> 
, <comma> 
: <colon>
4b9b3361

Ответ 1

Вы не увидите никаких запятых, двоеточий или двойных кавычек в Base64 закодированной строке. Вы увидите знаки равенства, так как они используются для заполнения конечного контента.

Ответ 2

Если у вас есть правильный кодировщик для Base64, вы не увидите специальных символов, кроме:

[AZ] [az] [0-9] [+/] и заполнитель char '=' в конце, чтобы указать количество байтов заполнения нуля

Доступен еще один набор символов Base64, который заменяет [+/] на [_-], что делает кодировку безопасной для URL.

Тем не менее спецификация позволяет включать любой другой символ. Часто закодированные в Base64 данные содержат перевод строки '\n' каждые 76 символов. Любой символ, кроме упомянутых выше, должен быть удален во время декодирования. Символы заполнения указывают количество нулевых байтов, добавленных для применения к n * 4 выходным символам.