Перевод кириллицы в бинарный код
Столкнулся с проблемой перевода кириллицы в двоичный код в кодировке UTF-8.
String text = "привет";
byte[] utf8bytes = text.getBytes(StandardCharsets.UTF_8);
StringBuilder binary = new StringBuilder();
for (byte b : utf8bytes) {
binary.append(String.format(
"%08d", Integer.parseInt(Integer.toBinaryString(b & 0xFF))));
binary.append(" ");
}
String bin = binary.toString();
System.out.println(Arrays.toString(utf8bytes));
System.out.println(bin);
Результаты: [-48, -96, -47, -105, -48, -95, -48, -126, -48, -96, -47, -111, -48, -96, -48, -122, -48, -96, -62, -75, -48, -95, -30, -128, -102] 11010000 10100000 11010001 10010111 11010000 10100001 11010000 10000010 11010000 10100000 11010001 10010001 11010000 10100000 11010000 10000110 11010000 10100000 11000010 10110101 11010000 10100001 11100010 10000000 10011010
Как слово "привет" выглядит на самом деле в двоичном коде : 11010000 10111111 11010001 10000000 11010000 10111000 11010000 10110010 11010000 10110101 11010001 10000010
В чем здесь может быть ошибка?