Преобразование строки в массив символов в Java
Я застрял с этой проблемой и нуждаюсь в свежем взгляде, не могу понять, почему этот код работает именно так.
String string = new String(new char[] {(char) 0x01, (char) 0x02, ..., (char) 0xFC});
Вывод соответствует всему, что должно быть, до последнего числа (0xFC), которое возвращает -4. Я понимаю, что это шестнадцатеричное значение, но если я делаю то же самое с 252 в десятичной системе, это также дает мне отрицательное значение. Надеюсь, что это просто простое решение, и я его не вижу.
Заранее спасибо.
1 ответ(ов)
Конвертация строки в массив символов осуществляется довольно просто:
String str = "someString";
char[] charArray = str.toCharArray();
Можешь немного подробнее объяснить, что именно ты пытаешься сделать?
* Обновление *
Если я правильно понимаю твой новый комментарий, ты можешь использовать массив байтов. Вот пример:
byte[] bytes = ByteBuffer.allocate(4).putInt(1695609641).array();
for (byte b : bytes) {
System.out.format("0x%x ", b);
}
В результате получится следующий вывод:
0x65 0x10 0xf3 0x29
Преобразование 'ArrayList<String>' в 'String[]' в Java
Как объявить массив в одну строку?
Как преобразовать строку Java в byte[]?
Как преобразовать jsonString в JSONObject в Java?
Самый простой способ преобразования Blob в массив байтов