Ich habe Hex Workshop heruntergeladen, und mir wurde gesagt, ich solle eine .dbc-Datei lesen.
Sie sollte 28.315 enthalten, wenn Sie lesen Offset 0x04 und 0x05
Ich weiß nicht, wie ich das machen soll? Was bedeutet 0x04?
Ich habe Hex Workshop heruntergeladen, und mir wurde gesagt, ich solle eine .dbc-Datei lesen.
Sie sollte 28.315 enthalten, wenn Sie lesen Offset 0x04 und 0x05
Ich weiß nicht, wie ich das machen soll? Was bedeutet 0x04?
0x04 ist hexadezimal für 4 (das 0x ist nur eine gängige Präfix-Konvention für die Basis-16-Darstellung von Zahlen - da viele Menschen in Dezimalzahlen denken), und das wäre das vierte Byte (da sie Offset sagen, zählen sie wahrscheinlich das erste Byte als Byte 0, also wäre Offset 0x04 das 5te Byte).
Ich vermute, sie sagen, dass das 4. und 5. Byte zusammen 28315 wären, aber haben sie gesagt, ob dies Little-Endian oder Big-Endian ist?
28315 (dezimal) ist 0x6E9B in hexadezimaler Schreibweise, wahrscheinlich in der Datei in der Reihenfolge 0x9B 0x6E, wenn sie Little-Endian ist.
Hinweis: Little-Endian und Big-Endian beziehen sich auf die Reihenfolge, in der die Bytes geschrieben werden. Menschen schreiben typischerweise dezimal und hexadezimal in Big-Endian-Schreibweise, also:
256 würde als 0x0100 geschrieben werden (die Ziffern auf der linken Seite sind die größte Skala)
Dazu werden jedoch zwei Bytes benötigt, und Little-Endian-Systeme schreiben das Low-Byte zuerst: 0x00 0x01. Big-Endian-Systeme schreiben das High-Byte zuerst: 0x01 0x00.
Typischerweise sind Intel-Systeme Little-Endian und andere Systeme variieren.
Stellen Sie sich eine Binärdatei als eine lineare Anordnung von Bytes vor.
0x04 wäre das 5. (in einem 0-basierten Array) Element im Array, und 0x05 wäre das 6.
Die beiden Werte in 0x04 und 0x05 können mit ODER verknüpft werden, um die Zahl 28.315 zu erhalten.
Da der Wert, den Sie lesen, 16 Bit ist, müssen Sie einen Wert über bitshift und dann ODER sie zusammen, dh wenn Sie die Datei in c# manipulieren wurden, würden Sie etwas wie dieses verwenden:
int value = (ByteArray[4] >> 8) | ByteArray[5]);
Ich hoffe, dies erklärt, wie Hex-Adressen funktionieren.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.