junior
Как создать Base64 кодировщик и декодировщик?
Кодирование и декодирование выполняется через статические методы класса Base64:
Пример
// Кодирование
String encoded = Base64.getEncoder()
.encodeToString("input".getBytes("utf-8")); // "aW5wdXQ="
// Декодирование
String decoded = new String(
Base64.getDecoder().decode("aW5wdXQ="), "utf-8"); // "input"
Для потокового кодирования больших объёмов данных используются обёртки над OutputStream и InputStream:
Пример
// Потоковое кодирование
OutputStream os = Base64.getEncoder().wrap(new FileOutputStream("encoded.txt"));
os.write("large data".getBytes());
os.close();
// Потоковое декодирование
InputStream is = Base64.getDecoder().wrap(new FileInputStream("encoded.txt"));
Потоковый подход эффективен для работы с большими файлами, поскольку не требует загрузки всего содержимого в память.
На собеседовании: помимо базового примера, упомяните потоковое кодирование через
wrap()— это показывает знание API за пределами тривиального использования.