C# バイト配列を文字列に変換
-
C# の
Encoding.GetString()
メソッドを使用して、Byte Array
をString
に変換する -
MemoryStream
メソッドを使用してByte Array
をString
に変換する C# プログラム
C# のバイト配列
はバイトの配列です。C# では、バイト配列
は 0〜255 の範囲の正の値のみを格納するために使用されます。配列 array
の各要素は 1 byte
(8 bits
)のメモリスペースを持っています。
C# では、バイト配列
は通常の配列
と同じように処理できます。byte array
が同等の文字列 string
に変換できることを知るのは興味深いことです。文字列 string
は異なるエンコーディング値に変換され、byte array
に保存されます。
この記事では、バイト配列を文字列に変換するさまざまなメソッドをチェックします。始めましょう。
C# の Encoding.GetString()
メソッドを使用して、Byte Array
を String
に変換する
メソッド Encoding.GetString()
は、バイト配列のすべてのバイトを文字列に変換します。このメソッドは Encoding
クラスに属しています。このクラスには、Unicode
、UTF8
、ASCII
、UTF32
などのさまざまなエンコード方式があります。
このメソッドを使用するための正しい構文は次のとおりです。
Encoding.Default.GetString(ByteArrayName);
ここでは Encoding.Default.GetString()
が使用され、byte array
の bytes
をデフォルトのタイプの 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 Array
を String
に変換する 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