Ich bin mir wirklich nicht sicher, wie ich meine Frage formulieren soll, aber hier ist die Situation.Wie liest man ein Byte aus einer Textdatei als tatsächliches Byte in Hex anstelle von Zeichen?
Ich habe Daten in einer Textdatei, zum Beispiel: 0x7B 0x01 0x2C 0x00 0x00 0xEA diese Werte sind eine hexadezimale Darstellung von ASCII-Symbolen. Ich muss diese Daten lesen und in der Lage sein, entsprechend zu analysieren und zu übersetzen.
bisher Mein Problem ist, dass ive versucht, einen Scanner über so etwas wie scan.getNextByte mit() und wurde auf dem Posten gerichtet: [java.util.Scanner mit einer Feile Byte für Byte lesen]
Nach Ich ändere das Datei-Input-Format in einen File-Input-Stream und finde heraus, dass während ich sowas wie fis.read() mache, 48, den ASCII-Wert für das Zeichen 0 in 0x7B, zurückliege.
Ich bin auf der Suche nach einer Möglichkeit, die gelesenen Daten zu interpretieren, hat Hexadezimal, so 0x7B entspricht "{" in ASCII.
Hoffnung dies klar genug ist,
Danke,
Sie müssen lese das ganze "Byte" ein - 0x7B anstatt nur 0 - in eine Zeichenkette und dann kannst du etwas wie 'Integer.decode (hexString)' – jonhopkins
Warum hast du so eine Datei an erster Stelle? Nicht viel nutzen. – EJP
Die Datei wird über die serielle Kommunikation generiert und meine Bewerbungsaufgabe ist basierend auf unseren Anforderungen zu interpretieren. Wir haben einen 64k-Block-Flash-Speicher, der in meinen Schoß geworfen wird, und ich muss in der Lage sein, den Header zu decodieren und darauf basierende Dateien zu generieren. – Tyler