S'il vous plaît aidez-moi à traduire le code Java en Pascal.Comment faire pour convertir des Tbytes long-à-deux, big-endian dans delphi
Commentaire: préparer des données ici, 8 octets sont utilisés pour le compteur de chiffre d'affaires (plus que suffisant pour chaque chiffre d'affaires possible ...), cependant la spécification ne nécessite que 5 octets au minimum. compteur, qui est représenté par deux complément de 8 octets, la représentation big endian (égale à Java LONG), les octets 8-15 sont mis à 0 les valeurs négatives sont possibles (très rare)
Long turnoverCounter = 50501;
ByteBuffer byteBufferData = ByteBuffer.allocate(16);
byteBufferData.putLong(turnoverCounter);
byte[] data = byteBufferData.array();
// data result = [0, 0, 0, 0, 0, 0, -59, 69, 0, 0, 0, 0, 0, 0, 0, 0]
java ByteBuffer données. putLong intéressé par Pascal
Merci.
Java écrit un 'long' (pas un' Long') comme 8 octets dans Big Endian par défaut. –
"la spécification ne requiert que 5 octets", à quoi penses-tu? 5 octets, peux-tu clarifier ce que tu veux dire? –
Les octets individuels étant négatifs me semble probable. La moitié de tous les octets sont négatifs. Il n'est pas clair que vous avez complètement décrit le problème. –