Articles

Come convertire un array di byte in una stringa in C#?

Posted on

In .Net, ogni stringa ha un set di caratteri e una codifica. Una codifica dei caratteri dice al computer come interpretare gli zero e gli uno grezzi in caratteri reali. Di solito lo fa accoppiando numeri con caratteri. In realtà, è il processo di trasformazione di un insieme di caratteri Unicode in una sequenza di byte.

Possiamo usare il metodo Encoding.GetString (Byte) per decodificare tutti i byte nell’array di byte specificato in una stringa. Diversi altri schemi di decodifica sono anche disponibili nella classe Encoding come UTF8, Unicode, UTF32, ASCII ecc. La classe Encoding è disponibile come parte del namespace System.Text.

string result = Encoding.Default.GetString(byteArray);

Esempio

Demo dal vivo

using System;using System.Text;namespace DemoApplication { public class Program { static void Main(string args) { byte byteArray = Encoding.Default.GetBytes("Hello World"); Console.WriteLine($"Byte Array is: {string.Join(" ", byteArray)}"); string str = Encoding.Default.GetString(byteArray); Console.WriteLine($"String is: {str}"); Console.ReadLine(); } }}

Output

L’output di il codice di cui sopra è

Byte Array is: 72 101 108 108 111 32 87 111 114 108 100String is: Hello World

È importante notare che dovremmo usare la stessa codifica per entrambe le direzioni. Per esempio, se l’array di byte è codificato con ASCII e stiamo cercando di ottenere la stringa usando UTF32, non otterremo la stringa desiderata.

Esempio

Demo dal vivo

using System;using System.Text;namespace DemoApplication { public class Program { static void Main(string args) { byte byteArray = Encoding.ASCII.GetBytes("Hello World"); Console.WriteLine($"Byte Array is: {string.Join(" ", byteArray)}"); string str = Encoding.UTF32.GetString(byteArray); Console.WriteLine($"String is: {str}"); Console.ReadLine(); } }}

Output

L’output del codice sopra è

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *