2015-09-18 2 views
0

У меня есть массив байтов, как это: (это не фактический массив байтов, я изменил его)Как инициализировать массив байтов в Java?

[69, 121, 101, 45, 62, 118, 101, 114, 196, 195, 61, 101, 98] 

Я хочу знать, как я могу инициализировать это в Java, так что я могу преобразовать этот массив байтов нанизывать? Ниже строки не работает.

// this doesn't work 
byte[] bytes = [69, 121, 101, 45, 62, 118, 101, 114, 196, 195, 61, 101, 98]; 

// now convert to string 
String data = new String(bytes, StandardCharsets.UTF_8); 
+0

Возможный дубликат [Как инициализировать массив байтов в Java?] (Http://stackoverflow.com/questions/11208479/how-do-i-initialize-a-byte-array-in-java) – Jorgesys

+0

никто не ожидал подписанных байтов :) вместо 255, вам нужно написать -1 и т. д. – ZhongYu

ответ

8

Это должно работать

byte[] bytes = {69, 121, 101, 45, 62, 118, 101, 114, (byte) 196, (byte) 195, 61, 101, 98}; 

Byte может содержать ДО -128 до 127 только. Некоторые из значений превышают предел байтового значения. Поэтому вам нужно отбросить их в байт.

+0

Это, вероятно, не то, что хочет OP. Кажется, что целью является создание строки на основе значений unicode разных символов. –

+0

@MickMnemonic Да. В OP-коде выполняется преобразование строк, где ему не удалось инициализировать массив байтов :) –

Смежные вопросы