Плохая ошибка base-64

Я получаю "java.lang.IllegalArgumentException: bad base-64" в следующем коде:

byte[] msgBytes = Base64.decode(msgStr, Base64.NO_WRAP);

msgString — это строка, и прямо перед этой строкой я проверяю значение msgStr, и оно равно «fl-ILw==». Что-то не так?

Спасибо.


person user1118764    schedule 23.04.2014    source источник


Ответы (1)


Согласно RFC 4648 (http://www.rfc-editor.org/rfc/rfc4648.txt) '-' не является допустимым символом Base64, но, с другой стороны, действителен для «URL и имени файла безопасный алфавит Base 64».

Таким образом, вы можете использовать Base64.URL_SAFE в зависимости от ожидаемого формата строки.

person Izuel    schedule 23.04.2014
comment
Я понимаю. Спасибо. Я заменил «/» и «+» на «_» и «-» соответственно, чтобы безопасно называть файлы. Так должно быть тогда. Спасибо! - person user1118764; 24.04.2014