Paladin.de
Lt. Junior Grade
- Registriert
- Juli 2008
- Beiträge
- 421
Hallo CB'ler
ich bin gerade am Proggen und bin auf ein doofes Problem gestoßen.
Also: Anforderung an das Programm (vorerst): in ein Textfeld sollen ein-oder mehrere Hexwerte eingegeben werden und zur weiterverarbeitung in ein Byte-Array gespeichert werden. kurz: FF Eingeben --> als Byte speichern
Eingabe: 1A 3B FF 00 44 etc.
habe es bereits gechafft die gruppen per String.split und String.ToCharArray auseinanderzufriemeln. mit String.ToLower werden alle Großbuchstaben in Kleinbuchstaben umgewandelt mehr dazu unten.
Also: ein String array mit je 2 chars.
Leider kann ich diese nicht korrekt in Bytes konvertieren, da diese ja in ASCII Codiert sind.
mein ansatz ist im moment 2 große switches zu implementieren. beide haben 16 cases ('0' bis 'f') und sind jeweils für 4 bit zuständig. Je nach case wird dann eine zahl zu einem int dazuaddiert, um den entsprechenden zahlenwert des Bytes zu bekommen. Diesen könnte ich nun in Byte konvertieren
Nachteil: Elend langer Quellcode mit mehreren Schleifen und Arrays
nun eine ganz einfache Frage: gehts vielleicht eleganter ? bin erst vor kurzen von C++ zu C# gewechselt. Gibts vielleicht ne implementierte Funktion die das kann?
ich bin gerade am Proggen und bin auf ein doofes Problem gestoßen.
Also: Anforderung an das Programm (vorerst): in ein Textfeld sollen ein-oder mehrere Hexwerte eingegeben werden und zur weiterverarbeitung in ein Byte-Array gespeichert werden. kurz: FF Eingeben --> als Byte speichern
Eingabe: 1A 3B FF 00 44 etc.
habe es bereits gechafft die gruppen per String.split und String.ToCharArray auseinanderzufriemeln. mit String.ToLower werden alle Großbuchstaben in Kleinbuchstaben umgewandelt mehr dazu unten.
Also: ein String array mit je 2 chars.
Leider kann ich diese nicht korrekt in Bytes konvertieren, da diese ja in ASCII Codiert sind.
mein ansatz ist im moment 2 große switches zu implementieren. beide haben 16 cases ('0' bis 'f') und sind jeweils für 4 bit zuständig. Je nach case wird dann eine zahl zu einem int dazuaddiert, um den entsprechenden zahlenwert des Bytes zu bekommen. Diesen könnte ich nun in Byte konvertieren
Nachteil: Elend langer Quellcode mit mehreren Schleifen und Arrays
nun eine ganz einfache Frage: gehts vielleicht eleganter ? bin erst vor kurzen von C++ zu C# gewechselt. Gibts vielleicht ne implementierte Funktion die das kann?