Ответ 1
Вы не увидите никаких запятых, двоеточий или двойных кавычек в Base64 закодированной строке. Вы увидите знаки равенства, так как они используются для заполнения конечного контента.
Я использую кодировку Base64 для кодирования поля идентификатора пользователя в Java.
String abc = new String(Base64.encodeBase64("Actualuseridfield"));
Я хочу знать, будет ли строка abc выше содержать символ ",: или нет?
Когда строка в кодировке Base64 возвращается в abc, будет ли она когда-либо содержать символы ниже?
" <double quote>
, <comma>
: <colon>
Вы не увидите никаких запятых, двоеточий или двойных кавычек в Base64 закодированной строке. Вы увидите знаки равенства, так как они используются для заполнения конечного контента.
Если у вас есть правильный кодировщик для Base64, вы не увидите специальных символов, кроме:
[AZ] [az] [0-9] [+/] и заполнитель char '=' в конце, чтобы указать количество байтов заполнения нуля
Доступен еще один набор символов Base64, который заменяет [+/] на [_-], что делает кодировку безопасной для URL.
Тем не менее спецификация позволяет включать любой другой символ. Часто закодированные в Base64 данные содержат перевод строки '\n' каждые 76 символов. Любой символ, кроме упомянутых выше, должен быть удален во время декодирования. Символы заполнения указывают количество нулевых байтов, добавленных для применения к n * 4 выходным символам.
преобразование "странных" и непечатаемых символов - это вся суть base64, поэтому нет, вы не увидите их. подробнее здесь http://email.about.com/cs/standards/a/base64_encoding.htm