Gymterview
junior

Какой класс появился в Java 8 для кодирования и декодирования данных?

java.util.Base64 — потокобезопасный класс для кодирования и декодирования данных в формате Base64. Он пришёл на замену нестандартным решениям (sun.misc.BASE64Encoder, Apache Commons Codec) и реализует схемы кодирования согласно RFC 4648 и RFC 2045.

Три режима кодирования

Метод Стандарт Описание
getEncoder() / getDecoder() RFC 4648 Стандартный Base64
getUrlEncoder() / getUrlDecoder() RFC 4648 URL-safe: заменяет +/ на -_
getMimeEncoder() / getMimeDecoder() RFC 2045 MIME: добавляет переносы строк каждые 76 символов

URL-safe кодирование необходимо для передачи данных в URL и HTTP-заголовках, где символы + и / имеют специальное значение. MIME-кодирование используется для вложений электронной почты.

На собеседовании: упомяните все три режима и объясните, зачем нужен URL-safe вариант. Это показывает практическое понимание, а не просто заучивание API.