Преобразование шестнадцатеричной строки в массив int - PullRequest
3 голосов
/ 29 февраля 2012

Я застрял с этой проблемой, как преобразовать шестнадцатеричную строку в массив без знака или массив целых чисел ..

Пожалуйста, посмотрите в этом примере.

String s= "1f5621ff8963545a12152250"; //this is my hex string

я хочупреобразовать эту строку в массив int

int buff[]={0x1f,0x56,0x21,0xff,0x89,0x63,0x54,0x5a,0x12,0x15,0x22,0x50};

как я могу это сделать ...

спасибо за помощь ..

Ответы [ 2 ]

4 голосов
/ 29 февраля 2012

Один простой способ: вычислить длину массива int путем деления длины String на 2. Выполните цикл по строке, вызывая substring(), чтобы создать двухсимвольные строки "1f", "56 "и т. д. Передайте каждую строку в Integer.parseInt(string, 16) (второй аргумент означает, что аргумент является шестнадцатеричной строкой.) Сохраняйте результаты в массиве по мере их вычисления.

0 голосов
/ 29 февраля 2012

Перебирайте строку, и каждые два элемента строки создают целое число следующим образом:

0Xmm, где mm - это два элемента, которые вы только что отсканировали.

Затем вы увеличиваетеиндекс вашего массива и продолжайте итерацию по строке и добавление к текущему «верхнему» месту массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...