J'ai un tableau d'octets, et je voudrais lire un entier à partir de ce tableau. Comment puis-je le faire?
Quelque chose comme ceci:
int i;
tab = new byte[32];
i = readint(tab,0,3); //i = int from tab[0] to tab[3] (int = 4 bytes?)
i = readint(tab,4,7);
etc...
OriginalL'auteur Rodger | 2011-06-16
Ref: Comment: Convertir un Tableau d'octets dans un int
Groo : affiche l'extrait de code a un tableau de 4 octets
OriginalL'auteur Mitch Wheat
Aussi, il y a une classe appelée
Endian
dans Jon Skeet est miscutil bibliothèque qui implémente les méthodes de conversion entre un tableau d'octets et de divers types primitifs, en prenant l'endianness en compte.Pour votre question, l'utilisation serait quelque chose comme:
Une version simplifiée de la Endian classe serait quelque chose comme:
Et puis le
FromBytes
méthode abstraite est mis en œuvre différemment pour chaque endian type.OriginalL'auteur Groo
Vous pouvez utiliser
BitConverter.ToInt32
. Jetez un oeil à cette.OriginalL'auteur FIre Panda
Si vous voulais le faire manuellement, quelque chose comme ça devrait faire l'affaire!
OriginalL'auteur Kurru