2013-10-01 3 views
2

Возможно ли это?Преобразование строки в 4 байтовый массив

Я пытаюсь преобразовать строку в массив 4 байта.

Я видел способ сделать это с целым:

int i =55555; 
ByteBuffer.allocate(4).putInt(i).array(); 

Cant найти путь с String.

+1

"Возможно ли это?" В общем нет. Только короткие строки могут быть представлены в 4 байтах. Это зависит от набора символов и от кодировки, которые могут быть представлены в виде строк. – Henry

+0

«Преобразуя строку в четырехбайтовый массив», вы говорите о чем-то, что связано с первыми четырьмя символами ASCII (или двумя символами Юникода) и преобразуете их в свои байтовые копии? – Smallhacker

ответ

4

Что случилось с "5555".getBytes();

или если вы хотите только первые 4 байта

"5555555".substring(0, 4).getBytes();

+0

Зависит от того, как вы хотите, чтобы ваше представление битов с использованием ByteBuffer было более подходящим для этой задачи. – giorashc

+3

Подстрока получает первые 4 символа (в любой кодировке), а не байты. Таким образом, вы также можете получить 8 байтов. – Fildor

+0

Так как это использует кодировку платформы по умолчанию, она не всегда будет поставлять 4 байта – Henry

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