Я читаю данные из ПЗУ SNES, используя Java. Я открываю поток и читаю байты в массив:
InputStream stream = open("foo.rom");
final int startingSize = stream.available();
byte[] data = new byte[startingSize];
final int numberRead = stream.read(data, 0, startingSize);
В ПЗУ у меня есть это значение:
E4 2B 00 02 03 00 FF 3A 00 83
228 43 0 2 3 0 255 58 0 131 (в десятичном формате)
Однако мой код ведет себя странно. После настройки некоторых операторов отладки у меня есть этот шаблон при печати с String.valueOf (data [ref]):
-28 43 0 2 3 0 -1 58 0 -125
(Этот адрес в ПЗУ является первым, где появляются данные, но я замечаю неправильные значения в других местах программы.)
Насколько я могу судить, мой байтовый массив Java не учитывает шестнадцатеричные данные. Как я могу установить свой байтовый массив для этого?