(Android) Почему byteToString приводит к разной длине, когда byte = -34? - PullRequest
0 голосов
/ 05 июля 2019

Я пишу приложение для Android. И может потребоваться некоторый оператор для создания строки из байта. Но когда byte [] включает в себя -34, созданная строка может иметь различную длину.

byte[] temp = new byte[40];
String temp2 = new String(temp,0,temp.length);
System.out.println(temp.length + " " + temp2.getBytes().length); // output "40 40"

temp[0] = -34;
temp2 = new String(temp,0,temp.length);
System.out.println(temp.length + " " + temp2.getBytes().length); // output "40 42"

Почему возникла эта проблема? Эта проблема возникает только в моем проекте? Заранее спасибо!

...