C#で文字列からStreamを生成する

文字列をStreamとして扱いたい場合があったりします。

stringは以下のような方法でSystem.IO.MemoryStreamへと変換することができます。

 


stringをbyte[]にしてからMemoryStreamへ

stringからStreamへ変換するには、まずstringからbyte[]への変換を行います。

 

文字列をバイト配列に変換する場合には文字コードを意識する必要があります。

文字コードを指定してSystem.Text.Encodingオブジェクトを生成してGetBytesメソッドでバイト配列へ変換します。さらにそのバイト配列をつかってSystem.IO.MemoryStreamを生成します。

 

    var encoding = Encoding.GetEncoding("UTF-8");
    var data = encoding.GetBytes("あいうえお");
    var stream = new System.IO.MemoryStream(data);