Итак, я хочу преобразовать массив байтов, возвращаемый функцией getData() DatagramPacket, в строку. Я знаю, что способ преобразовать весь массив байтов в строку:
String str = new String(bytes);
Однако в конце выводятся нулевые символы. Итак, если массив байтов был
[114, 101, 113, 117, 101, 115, 116, 0, 0, 0]
0 выводят на консоль пустые поля. Итак, я в основном хочу распечатать:
[114, 101, 113, 117, 101, 115, 116]
Итак, я сделал эту функцию:
public void print(DatagramPacket d) {
byte[] data = d.getData();
for(int i=0; i< d.getLength(); i++) {
if(data[i] != 0)
System.out.println( data[i] );
}
}
Но, к сожалению, это печатает фактические цифры вместо букв. Итак, как я могу преобразовать каждый отдельный байт в строку и распечатать ее. Или, если есть другой способ распечатать массив байтов без нулей в конце, тогда это тоже будет хорошо.