C# バイト配列を文字列に変換

Minahil Noor 2024年2月16日
  1. C# の Encoding.GetString() メソッドを使用して、Byte ArrayString に変換する
  2. MemoryStream メソッドを使用して Byte ArrayString に変換する C# プログラム
C# バイト配列を文字列に変換

C# のバイト配列はバイトの配列です。C# では、バイト配列は 0〜255 の範囲の正の値のみを格納するために使用されます。配列 array の各要素は 1 byte(8 bits)のメモリスペースを持っています。

C# では、バイト配列は通常の配列と同じように処理できます。byte array が同等の文字列 string に変換できることを知るのは興味深いことです。文字列 string は異なるエンコーディング値に変換され、byte array に保存されます。

この記事では、バイト配列を文字列に変換するさまざまなメソッドをチェックします。始めましょう。

C# の Encoding.GetString() メソッドを使用して、Byte ArrayString に変換する

メソッド Encoding.GetString() は、バイト配列のすべてのバイトを文字列に変換します。このメソッドは Encoding クラスに属しています。このクラスには、UnicodeUTF8ASCIIUTF32 などのさまざまなエンコード方式があります。

このメソッドを使用するための正しい構文は次のとおりです。

Encoding.Default.GetString(ByteArrayName);

ここでは Encoding.Default.GetString() が使用され、byte arraybytes をデフォルトのタイプの string に変換します。デフォルトのコード化スキームを使用します。

コード例:

using System;
using System.Text;

namespace Example {
  class Conversion {
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));
      string String = Encoding.Default.GetString(ByteArray);
      Console.WriteLine("The String is: " + String);
    }
  }
}

出力:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

MemoryStream メソッドを使用して Byte ArrayString に変換する C# プログラム

C# では、MemoryStream クラスを使用してデータのストリームを作成します。このクラスは、System.IO 名前空間に属しています。バイト配列文字列に変換するために使用できます。

このメソッドを使用するための正しい構文は次のとおりです。

using (MemoryStream Stream = new MemoryStream(ByteArrayName)) {
  using (StreamReader streamReader = new StreamReader(Stream)) {
    return streamReader.ReadToEnd();
  }
}

ここでは、特定のバイト配列バイトを含む MemoryStream を作成しました。次に、StreamReader を使用して MemoryStream からすべてのバイトを読み取り、ストリームを文字列として返します。

パラメータとしてバイト配列を受け取り、文字列を返す、BytesToStringConversion() という名前のカスタマイズされたメソッドを作成しました。

コード例:

using System;
using System.Text;
using System.IO;

namespace Example {
  class Conversion {
    static string BytesToStringConversion(byte[] bytes) {
      using (MemoryStream Stream = new MemoryStream(bytes)) {
        using (StreamReader streamReader = new StreamReader(Stream)) {
          return streamReader.ReadToEnd();
        }
      }
    }
    static void Main(string[] args) {
      byte[] ByteArray = {
        84, 104, 105, 115, 32, 105, 115, 32, 101, 120, 97, 109, 112, 108, 101,
      };
      Console.WriteLine("The Byte Array is: " + String.Join(" ", ByteArray));

      string str = BytesToStringConversion(ByteArray);
      Console.WriteLine("The String is: " + str);
    }
  }
}

出力:

The Byte Array is: 84 104 105 115 32 105 115 32 101 120 97 109 112 108 101
The String is: This is example

関連記事 - Csharp Byte Array

関連記事 - Csharp String