Bonjour a tous,
j'ai une chaine "String" qui contien de bites (du binaire) j'aimerai la convertir en Byte en découpant la chaine 8 par 8 et la convertir en Byte merci de maidee
Bonjour a tous,
j'ai une chaine "String" qui contien de bites (du binaire) j'aimerai la convertir en Byte en découpant la chaine 8 par 8 et la convertir en Byte merci de maidee
Je pense que tu dois procéder en deux étapes:
1. Convertir les bits en bytes. Pseudo-code:
2. Convertir les bytes en une string en bytes en utilisant: System.Text.Encoding.UTF8.GetString(mesBytes.ToArray()).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var mesBytes = new List<byte>(); for(i = 0; i < maChaineDeBits.Length; i+= 8) mesBytes.Add(ConvertirDeBitsVersUnByte(maChaineDeBits.Substring(i,8)));
ConvertirDeBitsVersUnByte() peut être implementé de plusieurs façons. Par exemple, un truc du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 byte resultat = 0; for (i = 0; i < 8; i++) resultat = (resultat << 1) + (chaineDeBits[7 - i] == '1' ? 1 : 0); return resultat;
Une autre solution, serait tout simplement d'utiliser la classe convert :
public static byte ToByte(string value, int fromBase)
Member of System.ConvertEt voila
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 List<byte> mesBytes = new List<byte>(); for(i = 0; i < maChaineDeBits.Length; i+= 8) mesBytes.Add (Convert.ToByte ( maChaineDeBits.SubString(i,8),2));
Partager