Я пытаюсь взять строку, т. Е. $!#
, преобразовать каждый отдельный символ в соответствующее значение ASCII, здесь он равен 36, 33, 35
, а затем заканчивается массивом целых чисел с каждым отдельным номером, хранящимся в отдельном индексе, что означает 3, 6, 3, 3, 3, 5
.(Java) Преобразование строки символов в целочисленный целочисленный массив
Короче: От $!#
до $,!,#
в 36, 33, 35
к 3, 6, 3, 3, 3, 5
Поскольку я использую Processing (обертка для Java), мой SO-исследования у меня до сих пор:
String str = "$!#";
byte[] b = str.getBytes();
for (int i=0; i<b.length; i++){
println(b[i]);
}
Я окончание с значениями ASCII. Байт-массив b
содержит [36, 33, 35]
.
Теперь, если бы это были строки вместо байтов, я бы использовал String.valueOf (b), чтобы получить 363335
, а затем снова разделить все это на целочисленный целочисленный массив.
Интересно, неужели этот подход излишне усложнен и может быть выполнен с меньшими шагами преобразования. Какие-либо предложения?
Вы можете обработать каждый символ, например. '$' -> '36' ->' 3,6' – Taylor
Вы уверены, что входной символ не имеет значения ASCII> 99? – rkosegi
Что именно вы имеете в виду, когда говорите это ** кажется неэффективным **? Как вы определяете эффективность? Почему вы считаете, что ваша работа плоха? Насколько велики ваши значения «String»? В каком контексте работает этот код? –