@vicenta_kertzmann
Для конвертирования char[] в byte[], каждый символ в char[] должен быть преобразован в байты, используя кодировку символов. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import java.nio.charset.StandardCharsets; import java.util.stream.IntStream; public class CharArrayToByteArray { public static byte[] convert(char[] chars) { return new String(chars).getBytes(StandardCharsets.UTF_8); } public static byte[] convertUsingStream(char[] chars) { return IntStream.range(0, chars.length) .mapToObj(i -> Character.toString(chars[i])) .reduce("", (str1, str2) -> str1 + str2) .getBytes(StandardCharsets.UTF_8); } public static void main(String[] args) { char[] chars = {'h', 'e', 'l', 'l', 'o'}; // Using String constructor byte[] bytes1 = convert(chars); System.out.println(new String(bytes1, StandardCharsets.UTF_8)); // hello // Using stream byte[] bytes2 = convertUsingStream(chars); System.out.println(new String(bytes2, StandardCharsets.UTF_8)); // hello } } |
В этом примере мы конвертируем char[] в byte[] с использованием кодировки UTF-8. Мы можем использовать либо конструктор String для создания строки, а затем вызвать метод getBytes() для получения байтового массива, либо использовать Java 8 Stream API и преобразовать каждый символ в char[] в строку, а затем соединить строки и получить байтовый массив.