Je suis en train de lire un tableau de 16 octets (byte[16]
) à partir d'un JDBC ResultSet
avec rs.getBytes("id")
et maintenant j'ai besoin de le convertir en deux valeurs longues. Comment puis je faire ça?Comment convertir un tableau d'octets en deux valeurs longues?
C'est le code que j'ai essayé, mais je n'ai probablement pas utilisé ByteBuffer
correctement.
byte[] bytes = rs.getBytes("id");
System.out.println("bytes: "+bytes.length); // prints "bytes: 16"
ByteBuffer buffer = ByteBuffer.allocate(16);
buffer = buffer.put(bytes);
// throws an java.nio.BufferUnderflowException
long leastSignificant = buffer.getLong();
long mostSignificant = buffer.getLong();
Je stocké le tableau d'octets à la base de données en utilisant:
byte[] bytes = ByteBuffer.allocate(16)
.putLong(leastSignificant)
.putLong(mostSignificant).array();
+1 Ah, c'était plus beau. Merci. – Jonas