byte [] para siempre en JNI

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)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=320628&siteId=1
Recomendado
Clasificación