Guide pratique pour convertir un tableau d’octets en valeur int (Guide de programmation C#)
Cet exemple montre comment utiliser la classe BitConverter pour convertir un tableau d’octets en valeur int, puis la reconvertir en tableau d’octets. Vous devrez peut-être convertir des octets en un type de données intégré après avoir lu les octets sur le réseau. Outre la méthode ToInt32(Byte[], Int32) de l’exemple, le tableau suivant répertorie les méthodes dans la classe BitConverter qui convertissent des octets (d’un tableau d’octets) en d’autres types intégrés.
Type retourné | Méthode |
---|---|
bool |
ToBoolean(Byte[], Int32) |
char |
ToChar(Byte[], Int32) |
double |
ToDouble(Byte[], Int32) |
short |
ToInt16(Byte[], Int32) |
int |
ToInt32(Byte[], Int32) |
long |
ToInt64(Byte[], Int32) |
float |
ToSingle(Byte[], Int32) |
ushort |
ToUInt16(Byte[], Int32) |
uint |
ToUInt32(Byte[], Int32) |
ulong |
ToUInt64(Byte[], Int32) |
Exemples
Cet exemple initialise un tableau d’octets, inverse le tableau si l’architecture de l’ordinateur est little-endian (autrement dit, l’octet le moins significatif est stocké en premier), puis appelle la méthode ToInt32(Byte[], Int32) pour convertir quatre octets du tableau en valeur int
. Le deuxième argument de ToInt32(Byte[], Int32) spécifie l’index de départ du tableau d’octets.
Notes
La sortie peut varier en fonction du caractère endian de l’architecture de votre ordinateur.
byte[] bytes = [0, 0, 0, 25];
// If the system architecture is little-endian (that is, little end first),
// reverse the byte array.
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
int i = BitConverter.ToInt32(bytes, 0);
Console.WriteLine("int: {0}", i);
// Output: int: 25
Dans cet exemple, la méthode GetBytes(Int32) de la classe BitConverter est appelée pour convertir une valeur int
en tableau d’octets.
Notes
La sortie peut varier en fonction du caractère endian de l’architecture de votre ordinateur.
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour