Стандартное кодирование и декодирование Base64
Используйте java.util.Base64 вместо внутренних классов JDK или сторонних кодеков.
Сравнение кода
✕ Internal JDK API
String encoded = new sun.misc.BASE64Encoder()
.encode(data);
✓ Java 8+
String encoded = Base64.getEncoder()
.encodeToString(data);
Заметили проблему в этом коде? Сообщите нам.
Почему современный подход лучше
Поддерживаемый API
Не использует недоступные классы реализации sun.misc.
Полный набор вариантов
Включает обычные, URL-безопасные и MIME-кодировщики и декодировщики.
Без зависимостей
Кодирование и декодирование встроены в JDK.
Старый подход
Кодировщик sun.misc
Современный подход
Стандартный API Base64
Начиная с JDK
8
Сложность
Начинающий
Поддержка JDK
Стандартное кодирование и декодирование Base64
Доступно
Широко доступно начиная с JDK 8 (март 2014).
Как это работает
Стандартный API Base64 предоставляет обычные, URL-безопасные и MIME-кодировщики и декодировщики без зависимости от неподдерживаемых внутренних пакетов. Используйте getEncoder() и getDecoder() для стандартного Base64 либо выберите варианты для URL и MIME, если этого требует целевой формат.
Связанная документация
Доказательство