Наивный подход будет:
Вы можете перебирать байтовый массив:
final byte[] bytes = "FooBar".getBytes();
for (byte b : bytes) {
System.out.print(b + " ");
}
Результат: 70 111 111 66 97 114
или через массив символов и преобразовать символ в примитив int
for (final char c : "FooBar".toCharArray()) {
System.out.print((int) c + " ");
}
Результат: 70 111 111 66 97 114
или, благодаря Java8, с forEach через inputSteam:
"FooBar".chars().forEach(c -> System.out.print(c + " "));
Результат: 70 111 111 66 97 114
или, благодаря Java8 и Apache Commons Lang :
final List<Byte> list = Arrays.asList(ArrayUtils.toObject("FooBar".getBytes()));
list.forEach(b -> System.out.print(b + " "));
Результат: 70 111 111 66 97 114
Лучший подход - использовать кодировку (ASCII, UTF-8, ...):
// Convert a String to byte array (byte[])
final String str = "FooBar";
final byte[] arrayUtf8 = str.getBytes("UTF-8");
for(final byte b: arrayUtf8){
System.out.println(b + " ");
}
Результат: 70 111 111 66 97 114
final byte[] arrayUtf16 = str.getBytes("UTF-16BE");
for(final byte b: arrayUtf16){
System.out.println(b);
}
Результат: 70 0 111 0 111 0 66 0 97 0 114
Надеюсь, это помогло.