2009-08-26 8 views
2

J'ai une valeur hexadécimale,Hexadécimal à un tableau non signé 8 bits dans VB.NET

07A5953EE7592CE8871EE287F9C0A5FBC2BB43695589D95E76A4A9D37019C8

Ce que je veux convertir en un tableau d'octets.

Y at-il une fonction intégrée dans .NET 3.5 qui fera le travail ou devrai-je écrire une fonction pour faire une boucle sur chaque paire dans la chaîne et la convertir en son équivalent entier 8 bits?

Répondre

2

Il n'y a aucune fonction intégrée qui fera cela. Vous malheureusement devez coder un up :(

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

qualifié l'énumération NumberStyles avec le qualificatif d'espace de noms de la mondialisation. Une autre option consiste à importer cet espace de noms et de supprimer le qualificatif.

+0

Merci d'avoir posté ce code Peut-être une question noob, mais je reçois NumberStyles n'est pas décl ared? Je sais que ce serait Dim NumberStyles comme? Merci – shaiss

+0

@shaiss Essayez d'importer System.Globalization dans ce fichier. – JaredPar

+0

Maintenant, je reçois 'Hex' n'est pas un membre de 'System.Globalization.NumberStyles' – shaiss

0

Je pense que vous trouverez ce que vous cherchez here (codeproject.com)

+0

J'ai regardé celui-ci aussi, j'espérais quelque chose intégré à .net – shaiss

Questions connexes