Я получил массив байтов и содержит нормальное значение от -128 до 127, а также некоторые символы, такие как "O", "K", пробел.
Как я мог их разделить и распечатать в правильном формате? для значения, я печатаю значение, для символа я печатаю 'O', 'K' как строку?
К сожалению, любая байтовая или любая байтовая комбинация может быть символом в зависимости от вашей кодировки символов. Вероятно, вы пытаетесь отделить человекочитаемые персонажи.
В этом случае хорошей кодировкой будет ISO_8859-1 (стандартная 1-байтовая кодировка):
byte[] array = ...; //this is your byte array
String string = new String(array, "ISO_8859-1"); //convert ALL the bytes to characters
Теперь вы можете использовать класс Character, чтобы проверить, какие у вас персонажи:
for(int i = 0; i < array.length; i++) {
char ch = string.charAt(i);
//now perform your tests on the character
if(.../*character is good*/) System.out.println(ch);
else /*character shouldn't be displayed*/ System.out.prinln(((int)ch));
}
Например, вы можете распечатать все символы, которые представляют собой правильные буквы:
if(Character.isLetter(ch)) ...
Я думаю, что это должно делать то, что вы намереваетесь делать, но очень сомнительно, почему вы это сделаете.