В Java 8 был добавлен класс Base64 в пакет java.util для кодирования и декодирования данных в формате Base64. Этот класс содержит два статических класса - Encoder для кодирования данных и Decoder для декодирования данных. Для использования необходимо импортировать класс Base64 использованием директивы импорта: import java.util.Base64;.
Пример кодирования и декодирования данных в Base64 в Java 8 с использованием класса Base64:
import java.util.Base64;
public class Main {
public static void main(String[] args) {
String originalString = "Hello, world!";
// Encoding a string to Base64
String encodedString = Base64.getEncoder().encodeToString(originalString.getBytes());
System.out.println("Encoded string: " + encodedString);
// Decoding a Base64 string
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println("Decoded string: " + decodedString);
}
}
Вывод программы:
Encoded string: SGVsbG8sIHdvcmxkIQ==
Decoded string: Hello, world!
Например, чтобы закодировать массив байтов в строку Base64, можно использовать следующий код:
byte[] byteArray = {1, 2, 3};
Base64.Encoder encoder = Base64.getEncoder();
String encodedString = encoder.encodeToString(byteArray);
А чтобы декодировать строку Base64 обратно в массив байтов, можно использовать следующий код:
Base64.Decoder decoder = Base64.getDecoder();
byte[] decodedByteArray = decoder.decode(encodedString);
Для этих операций также можно использовать статические методы класса java.util.Base64, например, для кодирования:
byte[] byteArray = {1, 2, 3};
String encodedString = Base64.getEncoder().encodeToString(byteArray);
и для декодирования:
byte[] decodedByteArray = Base64.getDecoder().decode(encodedString);
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov