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

  1. C# の Encoding.GetString() メソッドを使用して、Byte ArrayString に変換します
  2. MemoryStream メソッドを使用して Byte ArrayString に変換する 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 String

  • C# 文字列からすべての空白を効率的に削除する
  • C# 文字列を列挙型に変換
  • comments powered by Disqus