2009-08-26 4 views
2

Ich habe einen hexadezimalen Wert,Hexadezimal zu 8-Bit unsigned Array in VB.NET

07A5953EE7592CE8871EE287F9C0A5FBC2BB43695589D95E76A4A9D37019C8

Was ich in ein Byte-Array konvertieren möchten.

Gibt es eine integrierte Funktion in .NET 3.5, die die Arbeit erledigt, oder muss ich eine Funktion schreiben, um jedes Paar in der Zeichenfolge zu durchlaufen und es in seine 8-Bit-Ganzzahl zu konvertieren?

Antwort

2

Es gibt keine eingebaute Funktion, die dies tut. Sie werden leider ein codieren haben bis :(

Public Function ToHexList(ByVal str As String) As List(Of Byte) 
    Dim list As New List(Of Byte) 
    For i = 0 to str.Length-1 Step 2 
    list.Add(Byte.Parse(str.SubString(i,2), Globalization.NumberStyles.HexNumber)) 
    Next 
    Return list 
End Function 

EDIT

die Number Aufzählung mit der Globalisierung Namespace-Qualifikation qualifiziert. Eine andere Möglichkeit, dass die Namensraum zu importieren und entfernen ist die Qualifikation.

+0

Vielen Dank für das Posten dieses Codes. Könnte eine noob Frage sein, aber ich bekomme NumberStyles ist nicht decl Ared? Ich weiß, es wäre Dim NumberStyles als? Vielen Dank – shaiss

+0

@shaiss Versuchen Sie, System.Globalization in dieser Datei zu importieren. – JaredPar

+0

Jetzt bekomme ich 'Hex' ist kein Mitglied von 'System.Globalization.NumberStyles' – shaiss

0

Ich denke, dass Sie finden werden, was Sie suchen here (codeproject.com)

+0

Ich schaute mir auch dieses an, ich hoffte auf etwas, das in .net eingebaut war – shaiss