Я переношу некоторый PHP-код, а также код python, которые являются двумя функциями. Их цель состоит в анализе целого числа на массив байтов и наоборот. Однако это сработало некоторое время, но теперь я получаю недопустимые целочисленные ошибки.Java - byte [] to int conversion и наоборот
я получил следующий питона фрагмент кода, который я преобразован в Java:
def _deAdjustId(val):
if sys.version_info >= (3,0):
valEnc = val.encode('latin-1') if type(val) is str else val
else:
valEnc = val
return int(binascii.hexlify(valEnc), 16)
И мой код Java:
private static int deAdjustId(byte[] val) {
String valEnc;
try {
valEnc = new String(val, "iso-8859-1");
} catch (UnsupportedEncodingException e) {
valEnc = new String(val);
}
return Integer.parseInt(BinAscii.hexlify(valEnc.getBytes()), 16);
}
Ошибка Приведенное здесь следующее:
caught exception: Invalid int: "325FC398C3AB"
Означает ли это, что целочисленное значение слишком велико или в чем проблема?
Java ИНТ 32-разрядный. Это более 4 байтов. –