Моя проблема примерно такая.
У меня есть расчет в байтах на Java. В некоторых вычислениях я получаю желаемый результат «2a» в байтовом значении, но в некоторых вычислениях я получаю «ffffff9a» в байтовом значении. Я просто хочу получить значение "9a" из результата "ffffff9a". Я пробовал это, но не работал.
byte a = (byte) b & 0xff;
где b имеют значение "ffffff9a" байтовое значение.
Но при отображении тот же процесс работает как
System.out.println(Integer.toHexString(b & 0xff));
Где я ошибаюсь? Что я могу сделать, чтобы получить желаемое значение?
Спасибо
На самом деле я пытаюсь преобразовать 8-битный символ в 7-битный GSM. Кроме того, если кто-то может помочь мне в этом, это тоже будет полезно. Строка хранится в виде массива байтов, и мне нужно преобразовать эту строку или 8-битные байты в 7-битные.
System.out.println(Integer.toHexString(0xffffff9a & 0xff));
печатает9a
ideone.com/ikxuO - person Bala R   schedule 14.07.2011