Я ищу решение для вставки специальных 1-байтовых символов в строку Java, например 0xFE, 0xFF ( > 127)
.
Мне нужно использовать String вместо байтового массива, потому что методу класса нужен только тип String.
Что мне нужно в String = {0x07 0xAA 0x03 FF}
. Да, это специальные символы, которые используются для управления устройством.
И я попытался использовать String constructur как:
byte[] arr = {0x07, (byte) 0xAA, 0x03, (byte) FF};
String s = new String(arr, "UTF-8");
// utf-8 использует для 1-байтовых символов, а также я пробовал ascII, но результат был тот же
Все работает до значения 127 (dec) char в массиве, но после того, как он дает странный результат, такой как 1 или 2 дополнительных байта в String, это, конечно, происходит, потому что тип байта имеет максимальное значение 127. Но как исправить эту ситуацию? ? Нужна помощь.
Как я понял, я не могу добавить char [] в конструктор String