2014-11-22 2 views
0

Я столкнулся с проблемой в кодировке Base64.Исходный код с кодировкой Base 64 отличается в java/shell

я кодировал "тест" строка в кодировке Java base64

Мой Выход "dGVzdA0K"

при использовании той же строки в Linux, base64, я получил "dGVzdAo ="

Почему такая разница? Я должен передать свой обработанный оболочкой вывод в java base64-декодер.

При декодировании обеих строк в онлайн-декодерах он возвращает ожидаемую строку. Но это не работает в моем случае.

Благодарности & С уважением, Pica

ответ

3

Ваши закодированные строки отличаются тем, что Java бывший включает в себя 2 символа новой строки '\n' в конце в то время как последний имеет только один.

Вы можете указать, набрав, например. echo dGVzdAo= | base64 --decode | od -c

+0

Для устранения этого ОП необходимо использовать: 'echo -n" test "| base64' – anubhava