Je veux les bits (0 ou un) d'un octet dans une chaîne, mais je ne sais pas comment? Merci.Obtenir les bits d'octet sous forme de chaîne
Répondre
Je parie qu'il ya une habile façon de le faire, mais il fonctionne:
private string byteToBitsString(byte byteIn)
{
char[] bits = new char[8];
bits(0) = Convert.ToString((byteIn/128) % 2);
bits(1) = Convert.ToString((byteIn/64) % 2);
bits(2) = Convert.ToString((byteIn/32) % 2);
bits(3) = Convert.ToString((byteIn/16) % 2);
bits(4) = Convert.ToString((byteIn/8) % 2);
bits(5) = Convert.ToString((byteIn/4) % 2);
bits(6) = Convert.ToString((byteIn/2) % 2);
bits(7) = Convert.ToString((byteIn/1) % 2);
return bits;
}
Jetez un oeil à Convert.ToString(). Vous pouvez l'utiliser dans les deux sens, pour la conversion octet-> chaîne de bits et vice versa.
byte value = 56;
// There ...
string bits = Convert.ToString(value, 2);
// ...and Back Again
value = Convert.ToByte(bits, 2);
Cette réponse devrait être la réponse acceptée. Lorsqu'on lui donne un seul argument, Convert.ToString (byte) renvoie une chaîne hexadécimale, mais lorsqu'il reçoit le second argument, Convert.ToString (byte, int) peut utiliser la base 2, 8, 10 ou 16. '' 'Convertir. ToString (56,2) '' 'renvoie' '' '" 111000 "' '' mais si vous voulez * all * les bits, alors '' 'Convert.ToString (56,2) .PadLeft (8, '0') '' 'renvoie' '' "00111000" '' ' –
Voici la méthode écrite de re-de clweek, qui fonctionne réellement:
Je l'ai utilisé StringBuilder classe au lieu de tableau de caractères .
Exemples: byteToBitsString(157)
imprime "00101111"
private string byteToBitsString(byte byteIn)
{
var bitsString = new StringBuilder(8);
bitsString.Append(Convert.ToString((byteIn/128) % 2));
bitsString.Append(Convert.ToString((byteIn/64) % 2));
bitsString.Append(Convert.ToString((byteIn/32) % 2));
bitsString.Append(Convert.ToString((byteIn/16) % 2));
bitsString.Append(Convert.ToString((byteIn/8) % 2));
bitsString.Append(Convert.ToString((byteIn/4) % 2));
bitsString.Append(Convert.ToString((byteIn/2) % 2));
bitsString.Append(Convert.ToString((byteIn/1) % 2));
return bitsString.ToString();
}
A été buggé? Je l'ai converti à partir de VB et n'utilise pas C# régulièrement, donc il y a de la place pour une erreur stupide, mais qu'est-ce que c'est? – clweeks
Voici un peu façon cognant de le faire:
public static string ByteToBinaryString(byte byteIn)
{
StringBuilder out_string = new StringBuilder();
byte mask = 128;
for (int i = 7; i >=0 ; --i)
{
out_string.Append((byteIn & mask) != 0 ? "1" : "0");
mask >>= 1;
}
return out_string.ToString();
}
Ou la façon dont la variante de luxe du bit cognant à le faire:
public static string ToByteFormat(int valIn, int digits)
{
var bitsString = new StringBuilder(digits);
int mask = (1 << digits - 1);
for(int i = 0; i < digits; i++)
{
bitsString.Append((valIn & mask) != 0 ? "1" : "0");
mask >>= 1;
}
return bitsString.ToString();
}
- 1. Chaîne d'entrée compressée sous forme de chaîne
- 2. Représentation sous forme de chaîne de time_t?
- 3. Serialize [Flags] énumération sous forme de chaîne
- 4. Cryptage du tableau sous forme de chaîne
- 5. Comment obtenir le contenu xml d'un noeud sous forme de chaîne?
- 6. XmlReader - Lit le nœud actuel sous forme de chaîne
- 7. Comment obtenir le contenu complet de la page sous forme de chaîne en javascript?
- 8. Comparaison de nombres sous forme de chaîne dans Oracle
- 9. Retour de l'image Matplotlib sous forme de chaîne
- 10. Comment puis-je obtenir un type générique à partir d'une représentation sous forme de chaîne?
- 11. Flex Mxml et propriété sous forme de chaîne, s'échappant ?? Aide
- 12. Comment stocker parse_url sous forme de chaîne en PHP?
- 13. Lire l'objet fichier sous forme de chaîne en python
- 14. Fonction chaîne de sous-chaîne
- 15. Comment obtenir l'expression d'un sélecteur jQuery sous forme de texte?
- 16. Comment obtenir le package actuel sous la forme d'une chaîne à l'exécution dans actionscript
- 17. Preg_Match une chaîne sous la forme d'une URL
- 18. Formater un nombre sous la forme d'une chaîne
- 19. obtenir sous chaîne dans le script shell
- 20. Obtenir les numéros de chaîne
- 21. arrête les chaînes numériques de mise en forme automatique MS Excel sous forme de nombres
- 22. asp.net MVC: Passer une chaîne de requête sous la forme d'une chaîne ou de paramètres individuels?
- 23. Programmation pour la plate-forme 64 bits
- 24. Opération sur les bits pour trouver la différence de chaîne
- 25. Comment obtenir le message d'avertissement sous forme de chaîne lors de la validation de XML avec schemaValidate() en PHP?
- 26. OCX sous forme de victoire
- 27. PHP: comment charger un fichier à partir d'un serveur différent sous forme de chaîne?
- 28. php regex lire sous forme de sélection
- 29. "new DirectoryEntry (distinguishedName sous forme de chaîne)" ne fonctionne pas lorsque DN contient un "/"
- 30. Comment puis-je obtenir la représentation sous forme de chaîne du fuseau horaire des utilisateurs en utilisant javascript?
Voir l'autre réponse en utilisant Convert.ToString (value, 2) .PadLeft (8, '0') à la place. –