Почему отличается результат кодирования в base64 в windows и Linux?

Кодирую строку через openssl командной строке Win10 и ту же строку в консоли CentOs. Результат отличается в этих ОС. Кодировки utf-8. Почему так?
  • Вопрос задан
  • 1071 просмотр
Решения вопроса 1
fzfx
@fzfx
18,5 дм
направьте вывод в обоих случаях в файлы и сравните эти файлы (посмотрите в шестнадцатиричном просмотрщике), делов то.
либо кодировка разная, либо кто-то (винда, полагаю) BOM в начале строки ставит, либо перенос строки присутствует (он разный в разных ОС).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
samodum
@samodum
Какой вопрос - такой и ответ
Алгоритм base64 един и однозначен.
Если строки различаются, значит на вход поступают разные строки. Скорее всего, дело именно в кодировке. Проверяйте входные строки
Ответ написан
Комментировать
@SunTechnik
Вот тут можно в online раскодировать строку обратно, и понять на какой OS ошибка:
https://www.base64decode.org/

Win10 по умолчанию в командной строке использует кодировку 866.
Для настройки - читайте про команду chcp
Ответ написан
Комментировать
Jump
@Jump
Системный администратор со стажем.
Почему отличается результат кодирования в base64 в windows и Linux?
Потому что вы не внимательны.
Если результат не идентичен, то тут два варианта - либо алгоритмы различаются, либо входные данные отличаются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы