Articles

C#でバイト配列を文字列に変換する方法を教えてください。

Posted on

.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

です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です