C# wie schreibt man Dateien Hexadezimal?
Hallo,
Wie schreibe ich in C# Dateien Hexadezimal?
Also wenn ich z.B folgendes speichern möchte:
0xb8 0x2a 0x00 0x00 0x00
0xc3
Das dann in der Datei das gleiche Steht und keine Leeren Bytes davor oder danach.
Also das wenn ich mir die Datei im Hex-Editor angucke genau der gleiche Inhalt steht.
Danke für eine Antwort
TheCPP
5 Antworten
Ich denke, du solltest dir für die Klasse FileStream die Methoden WriteByte und Write anschauen. Könnte sein, dass eine dieser Methoden für deine Aufgabe passt. Hier die relevanten Links:
X gibt's im Hexa-decimal nicht - es gibt nur Zahlen(Ziffern) von 0-F und Deine Darstellung sind 4 Zeichen pro Byte - eine Trennung ist nicht Blank sondern "Punkt".
Mehr kenne ich nicht von früher, heute sehe ich nur noch hin und wieder die MAC-Nummer in Hexa-Format 2 Ziffern und Trennung durch Punkt,
Das 0x nutzt man um darzustellen das Zahlen Hexadezimal sind. Also ist 0x66 = 66 (Hexadezimal)
Hi,
0xnn ist eine hexadezimale numerische Konstante in C#
also würdest du in eine Datei Zeichen mit dem ASCII Code der genannten Werte sequentiell wegschreiben also (char)0xnn
LG
Harry
formal schreibst du bytes , die je nach codierung ein zeichen ergeben
will man also 0x2b also zeichen schreiben sucht man sich in seinem zeichensatz z.b. UTF-8 entpsrechende bytewerte raus und so werden sie auch geschrieben und dann später beim einlesen interpretiert .
willst du HEX 2b als wert schreiben musst du das in bytes umwandeln , ein Hexeditor wird dir dann die 8bits also HEX 2b anzeigen da es die ersten 4 bits und die letzen 4 bits jeweils für dich lesbar in HEX anzeigt . geschrieben wurde aber ein 8bit = 1 byte code .
schreibst du nur binäre datein ohne zeichzensatz , ist es an dir zu wissen wie die daten als byte ( bits) codiert wurden und entsprechend beim schreiben bzw lesen zu intepretieren oder zu codieren .
wenn wir also mal die grundlagen gelernt haben , kannst du deine frage so stellen das wir damit auch dein ziel erkennen und eine antwort liefern .
Du schreibst die eigentlichen Binärdaten ganz normal weg. Und ja, auch in C# wirst Du einfach Bytes in eine Datei schreiben können.