codificación:
Tengo una función para convertir byte [] para siempre en Java como éste. La longitud de la matriz (byte []) puede ser de 4, 6 u 8 bytes.
public long toLong(byte[] dtIn) {
try {
return Long.parseLong(new String(dtIn).trim());
} catch (Exception ex) {
ex.printStackTrace();
}
return -1;
}
¿Hay una función que es la misma que la función anterior en JNI (lenguaje C).?
codificación:
jlong toLong(jbyte *dtIn) {
return strtol((const char*)dtIn, NULL, 10);
}
Ejemplo:
jbyte din[] = {0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38};
return toLong(din);
Resultado: 12345678 (lo mismo con el código de Java)