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 è