Так что в моей программе я читаю файловую систему с помощью RandomAccessFile, а затем нахожу байт 1080 и возвращаю значение, которое в данном случае равно 239.
Теперь я использую ByteBuffer и хочу добавить это значение в ByteBuffer, но теперь по очевидным причинам оно становится -17, а не 239. Есть ли ЛЮБОЙ способ добавить это в массив ByteBuffer/byte, сохранив исходное значение? Я хочу в конечном итоге преобразовать его в шестнадцатеричное значение, поэтому я не хочу, чтобы значение менялось.
Не уверен, имеет ли это какой-то смысл, я понимаю, что в Java байт увеличивается только до 127? Любой способ добавить до 255?
byteValue & 0xff
. Если в результате этого в вашем коде возникнут проблемы, опубликуйте минимально воспроизводимый пример вашего кода. - person Erwin Bolwidt   schedule 05.12.2019Byte.toUnsignedInt(someByte)
. НоString.format("%02x", (byte)-17)
подойдет (ef
). - person Joop Eggen   schedule 06.12.2019