.Netでは、すべての文字列には、文字セットとエンコーディングがあります。 文字エンコーディングは、生の 0 と 1 を実際の文字に解釈する方法をコンピュータに伝えます。 通常は、数字と文字をペアにすることで行います。
Encoding.GetStringメソッド(Byte)を使用すると、指定されたバイト配列のすべてのバイトを文字列にデコードできます。 また、Encodingクラスでは、UTF8、Unicode、UTF32、ASCIIなど、いくつかの他のデコード方式も利用できます。 Encodingクラスは、System.Text名前空間の一部として利用できます。
string result = Encoding.Default.GetString(byteArray);
サンプル
ライブデモ
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(); } }}
出力
上記コードの出力は以下の通りです。
Byte Array is: 72 101 108 108 111 32 87 111 114 108 100String is: Hello World
注意すべき点は、両方向とも同じエンコーディングを使用することです。
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(); } }}
Output
上記コードの出力は
Byte Array is: 72 101 108 108 111 32 87 111 114 108 100String is: Hello World
です。