C# Converti array di byte in stringa

Minahil Noor 16 febbraio 2024
  1. Converti un array di byte in una stringa usando il metodo Encoding.GetString() in C#
  2. Programma C# per convertire un Byte Array in una stringa usando il metodo MemoryStream
C# Converti array di byte in stringa

Un array di byte è un array di byte. In C# viene utilizzata un array di byte per archiviare solo valori positivi compresi tra 0 e 255. Ogni elemento dell’array ha uno spazio di memoria di 1 byte (8 bits).

In C#, un array di byte può essere elaborata proprio come un array normale. È interessante sapere che un array di byte può essere convertito nella sua stringa equivalente. Una stringa può essere convertita in diversi valori di codifica e quindi memorizzata in un array di byte.

In questo articolo, esamineremo diversi metodi per convertire un array di byte in una stringa. Immergiamoci.

Converti un array di byte in una stringa usando il metodo Encoding.GetString() in C#

Il metodo Encoding.GetString() converte tutti i byte di un array di byte in una stringa. Questo metodo appartiene alla classe Encoding. Questa classe ha diversi schemi di codifica come Unicode, UTF8, ASCII, UTF32, ecc.

La sintassi corretta per utilizzare questo metodo è la seguente:

Encoding.Default.GetString(ByteArrayName);

Qui viene utilizzato Encoding.Default.GetString(), convertirà i byte dell’array di byte nella stringa di tipo predefinita. Utilizzerà lo schema di codifica predefinito.

Codice di esempio:

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);
    }
  }
}

Produzione:

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

Programma C# per convertire un Byte Array in una stringa usando il metodo MemoryStream

In C#, la classe MemoryStream viene utilizzata per creare un flusso di dati. Questa classe appartiene allo spazio dei nomi System.IO. Può essere utilizzato per convertire un array di byte in una stringa.

La sintassi corretta per utilizzare questo metodo è la seguente:

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

Qui abbiamo creato un MemoryStream che contiene i byte di uno specifico array di byte. Quindi, abbiamo usato uno StreamReader per leggere tutti i byte da MemoryStream e restituire il flusso come una stringa.

Abbiamo creato un metodo personalizzato denominato BytesToStringConversion() che accetta un array di byte come parametro e quindi restituisce una stringa.

Codice di esempio:

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);
    }
  }
}

Produzione:

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

Articolo correlato - Csharp Byte Array

Articolo correlato - Csharp String