Научитесь преобразовывать массив byte[] в строку и преобразовывать строку в массив byte[] в Java с примерами. Преобразование между массивом byte и строкой может использоваться во многих случаях, включая операции ввода-вывода, генерацию безопасных хэшей и т. д.
Пока это не станет абсолютно необходимым, НЕ выполняйте преобразование между строкой и массивом байтов. Они оба представляют разные данные; и служат определенным целям, то есть строки предназначены для текста, byte[] — для двоичных данных.
1. Из byte[] в String
1.1 Использование конструктора строк
Чтобы преобразовать массив байтов в строку, можно использовать конструктор класса String с byte[] в качестве аргумента конструктора.
byte[] bytes = "hello world".getBytes();String s = new String(bytes);
1.2.Использование Base64
Начиная с Java 8, нам доступен класс Base64. Как вы, возможно, знаете, Base64 — это способ кодирования двоичных данных, в то время как UTF-8 и UTF-16 — это способы кодирования текстовых данных Unicode. Так что если вам нужно кодировать произвольные двоичные данные как текст, Base64 — это то, что вам нужно.
byte[] bytes = "hello world".getBytes();String s = Base64.getEncoder().encodeToString(bytes);
2. Из строки в байт[]
2.1 Использование String.getBytes()
Для преобразования из строки в массив байтов используйте метод String.getBytes(). Обратите внимание, что этот метод использует кодировку платформы по умолчанию.
String string = "howtodoinjava.com";byte[] bytes = string.getBytes();
2.2 Использование Base64
Метод Base64.getDecoder().decode() преобразует строку в массив байтов.
String string = "howtodoinjava.com";byte[] bytes = Base64.getDecoder().decode(string);
3. Резюме
При преобразовании массива byte[] в строку и обратно в Java следует сосредоточиться на типе входных данных.
- Используйте класс String при вводе данных в виде строки или текстового содержимого.
- Используйте класс Base64 при вводе данных в массив байтов.
Пишите мне свои вопросы в комментариях.