C# Converti array di byte in stringa
-
Converti un array di byte in una
stringa
usando il metodoEncoding.GetString()
inC#
-
Programma C# per convertire un
Byte Array
in unastringa
usando il metodoMemoryStream
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