hexadezimal auslesen
-
Hallo,
ich müsste eine Datei in C# hexadezimal auslesen, dann nach jedem Zeichen etwas anfügen und wieder in eine andere Datei speichern. jedoch finde ich keine möglichkeit, eine datei hexadezimal zu öffnen noch zu schreiben. ich wäre euch für schnelle hife dankbar
Viele Grüße
-
habe bereits eine andere lösung des Problems gefunden.
-
Angel84 schrieb:
habe bereits eine andere lösung des Problems gefunden.
Gut das Du die Lösung gepostet hast, so haben andere auch was davon!
-
Jo die Lösung würde mich auch mal interessieren, habe nämlich ein ähnliches Problem.
Mfg fabian
-
habe zu diesem konkreten Problem keine Lösung gefunden. bin nur auf einen anderen weg ungestiegen. ich sollte das ja von ansi nach unicode utf-16 codieren und mir ist noch aufgefallen, das die streamwriter klasse beim anlegen des objektes auch die codierung der datei mitübergeben bekommen kann.
allerdings: wenn man die datei binär einliest bekommt man ja den ascii code der einzelnen zeichen die da drinne stehen. und mit diesem ist auch möglich sich den hex wert zu errechnen (ist ja einfach nur ein schauen wie das mit dem 16er zahlensystem welches das hex ja ist, hin kommt und ab größer von 9 halt eben dann die buchstaben verwenden)
-
Servus,
einen string in Hex zu flummen und umgekehrt kann ich ein kleines Beispiel bringen, wenns jemand juckt
So hatte ich das mal gemacht:
private string ConvertHexadecimalToString (string HexPattern, int HexCount) { string Text = string.Empty; int RefHexCount = 0; for (int i = 0; i < HexCount; i++) Text += System.Uri.HexUnescape(HexPattern, ref RefHexCount); return Text; } private int ConvertStringToHexadecimal (string Text, ref string HexaDecimalText) { char[] HexValues = Text.ToCharArray(); HexaDecimalText = string.Empty; foreach (char Character in HexValues) HexaDecimalText += System.Uri.HexEscape(Character); return HexValues.Length; } private void ReadeFileHex() { StreamReader SourceFile = new StreamReader(@"D:\text.txt"); string Text = SourceFile.ReadToEnd(); SourceFile.Close(); string HexaDecimalText = string.Empty; int HexCount = ConvertStringToHexadecimal(Text, ref HexaDecimalText); string NormalText = ConvertHexadecimalToString(HexaDecimalText, HexCount); }
Dann kann man den Rotz auf bearbeiten...
mfg
Hellsgore