2008-10-02 14 views

Répondre

16

Vous devez d'abord comprendre que les caractères ne sont pas des octets dans .NET. Pour convertir entre des caractères (un type textuel) et des octets (un type binaire), vous devez utiliser un encodage (voir System.Text.Encoding).

L'encodage vous permettra de convertir entre string/char [] et byte []. Une fois que vous avez un tableau d'octets, il existe plusieurs façons de le convertir en liste < octet> - bien que vous n'en ayez pas besoin, car byte [] implémente IList < octet>.

Voir my article on Unicode pour en savoir plus sur la conversion de texte (et des liens vers d'autres articles).

+0

J'ai manqué l'exigence de type octet dans ma réponse, car il était absent dans la question initiale. Par conséquent, upvote pour cette réponse;) – OregonGhost

+0

Y at-il une question Jon n'a pas répondu en profondeur dans un article :) Je plaisante je les aime! – Goran

+2

"Y at-il une question Jon n'a pas répondu en profondeur dans un article?" Ooh ... Je ne pense pas avoir un article répondant à cette * question *. Doit réparer;) –

6

J'ai réussi à utiliser ce qui suit pour faire le travail:

byte[] arr = new System.Text.UTF8Encoding(true).GetBytes(str); 
List<byte> byteList = new List<byte>(arr); 

Merci pour votre aide

Questions connexes