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.