Textbox Text in byte Array

B

ByeBye 261690

Hallo,

Ich habe eine Textbox in der Hexadezimale Werte in folgender Form eingegeben werden:
"04 FF 1E E3 07" (Mit Leerzeichen).

Code:
mystring = textBox1.Text;

Mein Ziel ist es nun diesen String in ein byte Array zu schreiben und zwar:

bytearray[0] = 04
bytearray[0] = FF
bytearray[0] = 1E
bytearray[0] = E3
bytearray[0] = 07


Versuche mit:
Code:
        //String to Byte
        private byte[] StringToByteArray(string str)
        {
            System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
            return enc.GetBytes(str);
        }

        byte[] mybytearray = new byte[0];                
        
        private void button1_Click(object sender, EventArgs e)
        {
            string mystring = textBox1.Text;
            mybytearray = StringToByteArray(mystring);            
        }

klappen leider nicht, weil dann jedes einzelne zeichen ins bytearray geschieben wird( inklusive leerzeichen).



VS Studio 2010
C#

Ich hoffe auf ein paar Tipps eurerseits.

Vielen Dank
 
Bitteschön.
C#:
string hexString = "04 FF 1E E3 07";
string[] parts = hexString.Split(' ');
byte[] arr = new byte[parts.Length];
for (int i = 0; i < arr.Length; i++)
	arr[i] = byte.Parse(parts[i], System.Globalization.NumberStyles.HexNumber);

Gehen würde auch die etwas unschöne Variante über Convert.toInt32:
C#:
for (int i = 0; i < arr.Length; i++)
	arr[i] = (byte)Convert.ToInt32(parts[i], 16);
 
Hi und Willkommen bei tutorials.de :)

Wenn immer genau ein Leerzeichen dazwischen ist:
Splitte den String an den Leerzeichen und hol dir die Bytes mit Byte.Parse.

Ich such einen Beispielcode...
edit: Ist wohl nicht mehr nötig :)

Gruß
 
Zuletzt bearbeitet:
Ja sorry. Ich war gerade zu Faul für Erklärungen deswegen war ich wohl schneller. ;)
Ich hoffe marc_s lernt trotzdem was dazu. Auch wenn ich jetzt vorgekaut habe.
 
Hallo,

ich würde empfehlen, TryParse() zu verwenden, weil man dann ungültige Eingaben gleich abfangen kann. In so einem Fall wird sonst bei Parse() eine Exception geworfen, die eh behandelt werden müsste.

Gruß
MCoder
 
Zurück