In etwa so:
%Vor%(EDIT: Jetzt etwas effizienter - keine Teilstrings erforderlich ...)
Es ist möglich, dass ParseNybble
effizienter sein könnte. Zum Beispiel kann ein Schalter / Fall effizienter sein:
oder möglicherweise ein Nachschlagefeld:
%Vor%Ich habe keinen von ihnen bewertet, und ich habe keine Ahnung, welcher der schnellste wäre. Die aktuelle Lösung ist jedoch wahrscheinlich die einfachste.
Erwägen Sie, eine Framework-Klasse zu nutzen, die bereits die Möglichkeit zur Hex-Konvertierung bietet, zum Beispiel XmlReader:
%Vor%Verwendung:
%Vor%Einfach:
%Vor%Alles, was Sie beachten müssen, ist, dass ein int die hexadezimale Zahl in Gruppen von 8 hexadezimalen Ziffern teilt (hex sind jeweils 4 bits und CLR int type ist 32 bits, also 8 Ziffern pro int). Es gibt auch ein byte.Parse (), das gleich funktioniert, aber zwei Hex-Ziffern gleichzeitig übergibt.
Sie müssen dies ein wenig ändern (z. B. die ersten beiden Zeichen überspringen), aber es behandelt Leerzeichen in der Zeichenfolge:
%Vor%Tatsächlich ist es einfacher, zwei Zeichen gleichzeitig in ein Byte zu konvertieren:
%Vor%