Convertir String[] byte[] tableau
Je suis en train de convertir cette chaîne de tableau de tableau d'octets.
string[] _str= { "01", "02", "03", "FF"};
à byte[] _Byte = { 0x1, 0x2, 0x3, 0xFF};
J'ai essayé le code suivant, mais il ne fonctionne pas.
_Byte = Array.ConvertAll(_str, Byte.Parse);
Et aussi, il serait beaucoup mieux si je pouvais convertir le code suivant directement pour le tableau d'octets :
string s = "00 02 03 FF"
à byte[] _Byte = { 0x1, 0x2, 0x3, 0xFF};
J'assume toutes les chaînes de décrire les nombres hexadécimaux?
oui, il est.....
Est le 0x3 une faute de frappe?
ouais, il manque sur le str partie 🙂
oui, il est.....
Est le 0x3 une faute de frappe?
ouais, il manque sur le str partie 🙂
OriginalL'auteur Ahmad Hafiz | 2012-05-10
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner:
à l'aide de
Convertir.ToByte
, vous pouvez spécifier la base à partir de laquelle les convertir, ce qui, dans votre cas, est de 16 ans.Si vous avez une chaîne en séparant les valeurs par des espaces, vous pouvez utiliser
String.Split
à split:cool 🙂 a Également ajouté une solution pour convertir une chaîne de caractères. Vous pouvez marquer ma réponse comme une réponse si cela vous a aidé 🙂
Je sais que ce fil est vieux, mais j'ai eu un problème ici. Si je convertir mon string[] byte[] j'ai par exemple [0] "70" string [1] "34" de la chaîne [2] "0A" string [0] 112 octets [1] 52 byte [2] 10 octets Mais j'ai besoin des mêmes caractères d'un octet.
ils de sur le même. "0A" est de 10 en notation hexadécimale. C'est juste affiché dans le format décimal. La valeur est correcte.
Ohhhh c'est ainsi.... J'ai passé des heures... Mais merci sooo beaucoup pour cette!! Merci!!!!
OriginalL'auteur Botz3000
Essayez d'utiliser LINQ:
Byte.Parse
n'acceptera pas une chaîne de caractères au format hexadécimal.M'a aidé 😀
OriginalL'auteur Marek Dzikiewicz
Avec LINQ est la façon la plus simple:
Si vous avez une chaîne unique
string s = "0002FF";
vous pouvez utiliser cette réponseOriginalL'auteur SynerCoder
Vous pouvez toujours utiliser
Array.ConvertAll
si vous préférez, mais vous devez spécifier la base 16. Donc, soitou
Bien sûr, vous pouvez utiliser
string[] _str = stringWithSpaces.Split(' ');
pour créer_str
en premier lieu, comme d'autres l'ont souligné.OriginalL'auteur Jeppe Stig Nielsen
Si vous souhaitez utiliser ConvertAll vous pouvez essayer ceci:
OriginalL'auteur Nadir Sampaoli
Essayez celui-ci:
OriginalL'auteur ie.