Articles

Hoe zet ik een byte-array om in een tekenreeks in C#?

Posted on

In .Net heeft elke string een tekenset en een tekencodering. Een tekencodering vertelt de computer hoe hij ruwe nullen en enen moet interpreteren in echte tekens. Meestal gebeurt dit door getallen aan tekens te koppelen. Eigenlijk is het het proces van het omzetten van een set Unicode karakters in een opeenvolging van bytes.

We kunnen Encoding.GetString Method (Byte) gebruiken om alle bytes in de opgegeven byte-array in een string te decoderen. Verscheidene andere decoderingsschema’s zijn ook beschikbaar in de Encoding klasse, zoals UTF8, Unicode, UTF32, ASCII enz. De Encoding klasse is beschikbaar als onderdeel van System.Text namespace.

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

Example

Live Demo

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

Uitvoer

De uitvoer van de bovenstaande code is

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

Het is belangrijk op te merken dat we voor beide richtingen dezelfde encoding moeten gebruiken. Als de byte array bijvoorbeeld is gecodeerd met ASCII en we proberen de string te krijgen met UTF32, krijgen we niet de gewenste string.

Example

Live Demo

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

Uitvoer

De uitvoer van de bovenstaande code is

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *