C# Conversion d'un tableau d'octets en chaîne de caractères

Minahil Noor 16 février 2024
  1. Convertir un tableau d'octets en une chaîne en utilisant la méthode Encoding.GetString() en C#
  2. Programme C# pour convertir un tableau d'octets en une chaîne en utilisant la méthode MemoryStream
C# Conversion d'un tableau d'octets en chaîne de caractères

Un byte array est un tableau d’octets. En C#, un byte array est utilisé pour stocker uniquement des valeurs positives allant de 0 à 255. Chaque élément du tableau a un espace mémoire de 1 octet (8 bits).

En C#, un tableau d'octets peut être traité comme un byte normal. Il est intéressant de savoir qu’un “tableau d’octets” peut être converti en sa chaîne équivalente. Une chaîne peut être convertie en différentes valeurs d’encodage et ensuite stockée dans un tableau d'octets.

Dans cet article, nous allons examiner différentes méthodes pour convertir un tableau d'octets en une chaîne. Plongeons dans le vif du sujet.

Convertir un tableau d'octets en une chaîne en utilisant la méthode Encoding.GetString() en C#

La méthode Encoding.GetString() convertit tous les octets d’un tableau de octets en une chaîne. Cette méthode appartient à la classe Encoding. Cette classe a différents schémas d’encodage comme Unicode, UTF8, ASCII, UTF32, etc.

La syntaxe correcte pour utiliser cette méthode est la suivante:

Encoding.Default.GetString(ByteArrayName);

Ici, Encoding.Default.GetString() est utilisé, il convertira les octets du tableau d'octets en le type string par défaut. Elle utilisera le schéma d’encodage par défaut.

Exemple de code:

using System;
using System.Text;

namespace Example {
  class Conversion {
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));
      string String = Encoding.Default.GetString(ByteArray);
      Console.WriteLine("The String is: " + String);
    }
  }
}

Production:

The Byte Array is : 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101 The String is
    : This is example

Programme C# pour convertir un tableau d'octets en une chaîne en utilisant la méthode MemoryStream

En C#, la classe MemoryStream est utilisée pour créer un flux de données. Cette classe appartient à l’espace de noms System.IO. Elle peut être utilisée pour convertir un tableau d'octets en une chaîne.

La syntaxe correcte pour utiliser cette méthode est la suivante:

using (MemoryStream Stream = new MemoryStream(ByteArrayName)) {
  using (StreamReader streamReader = new StreamReader(Stream)) {
    return streamReader.ReadToEnd();
  }
}

Ici, nous avons créé un MemoryStream qui contient les octets d’un tableau d'octets spécifique. Ensuite, nous avons utilisé un StreamReader pour lire tous les octets de MemoryStream et renvoyer le flux sous forme de chaîne.

Nous avons créé une méthode personnalisée appelée BytesToStringConversion() qui accepte un tableau d’octets comme paramètre et retourne ensuite une chaîne.

Exemple de code:

using System;
using System.Text;
using System.IO;

namespace Example {
  class Conversion {
    static string BytesToStringConversion(byte[] bytes) {
      using (MemoryStream Stream = new MemoryStream(bytes)) {
        using (StreamReader streamReader = new StreamReader(Stream)) {
          return streamReader.ReadToEnd();
        }
      }
    }
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));

      string str = BytesToStringConversion(ByteArray);
      Console.WriteLine("The String is: " + str);
    }
  }
}

Production:

The Byte Array is : 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101 The String is
    : This is example

Article connexe - Csharp Byte Array

Article connexe - Csharp String