Diese Frage scheint einzigartig, aber ich habe Schwierigkeiten bei der Lösung.Java, wie man eine Sammlung von Byte aus einem Byte-Array bekommt
Ich habe ein Byte-Array (ein DW pro Zeile) und versuchen, den Byte-Wert für alle 9 Bytes zu erhalten. Hier ist , wie der Byte-Array wie folgt aussieht:
0 1 2 3
4 5 6 7
8| 9 10 11
12 13 14 15
16 17| 18 19
20 21 22 23
24 25 26| 27
28 29 30 31
32 33 34 35|
.......
Hier ist eine definierte Funktion, die ich brauche zu verwenden, um den Wert aus dem obigen Patent:
getValue(int DWOffset, int highBit, int lowBit)
//DWOffset indicates the row of the data.
//highBit indicates the ending bit
//lowBit indicates the starting bit
Meine Frage ist, wie jeden erhalten 9 Bytes von den Daten (wo das | erscheint) mit for-Schleife? Die Datenlänge kann unter Verwendung
data.getLength(); //which returns the total number of bytes in the data
Bisher kann ich Wert bekommen auf der ersten zwei Zeilen herausgefunden:
for(int i = 0; i < data.getLength()/(4*2); i++){
getValue(i*2, 31, 0); //DW i
getValue(i*2 + 1, 31, 0); //DW i+1
}
Nicht klar. Was ist ein DW? Was repräsentieren diese Daten? Können Sie die 'getValue()' API, die Sie verwenden sollen, genauer erklären? Oder einen Link zu einer Dokumentation bereitstellen? Diese Inline-Kommentare helfen nicht viel. Möchten Sie ein Byte aus jeder Gruppe von neun Bytes erhalten? Oder erhalten Sie alle Bytes in Blöcken von neun? – erickson