У меня есть строка java, и мне нужно преобразовать ее в байт, но проблема в байте не позволяет этого из-за его диапазона. Что мне делать. ?Преобразование «FFFF» в байт
String num = "FFFF";
У меня есть строка java, и мне нужно преобразовать ее в байт, но проблема в байте не позволяет этого из-за его диапазона. Что мне делать. ?Преобразование «FFFF» в байт
String num = "FFFF";
Байт имеет 8bits таким образом, значения диапазонов от < -128,127> или < 0x00,0xFF> так что вы не можете кодировать 0xFFFF, если он представляющий целое число (65535) в байт потому что это не будет соответствовать.
Однако, если он представляет Короткое значение 0xFFFF означает -1 (если подписанный), который преобразуется в байты. Код будет выглядеть следующим образом:
String num = "FFFF";
int n = Integer.parseInt(num,16);
System.out.println("int:"+n);
byte bn = (byte)n;
System.out.println("byte: "+bn);
и он будет печатать, как это:
int:65535
byte: -1
Спасибо! Вы решили мою проблему :) – Aniq
Ну, очевидно, вы не можете. Объясните, что вы действительно пытаетесь сделать. –
@SotiriosDelimanolis У меня есть массив байтов, и я должен поместить эту строку в этот массив. – Aniq
Вы декодируете строку (байты представляют кодировку) или значение, которое она представляет? –