stream、string、byte[]相互回転

3738 ワード

最近のプロジェクトで使用され、ソースコードが直接与えられます.
 // 

        public static MemoryStream StringToStream(string s)

        {

            // convert string to stream            

            byte[] byteArray = Encoding.Unicode.GetBytes(s);

            MemoryStream stream = new MemoryStream(byteArray);

            return stream;

        }



        // 

        public static string StreamToString(Stream stream)

        {

            StreamReader reader = new StreamReader(stream);

            string text = reader.ReadToEnd();

            return text;

        }



        // 

        public static Byte[] StringToByteArray(string s)

        {

            return Encoding.Unicode.GetBytes(s);

        }



        // 

        public static string ByteArrayToString(Byte[] bytes)

        {

            return Encoding.Unicode.GetString(bytes);

        }

あまり説明しないで、私が実現したコードは簡潔ですが、実用的です~
 
もちろん実現方法はたくさんありますが、以下に簡潔で主流の、直接過程化して書きます.
string test = “Testing abc lzq″;



// convert string to stream

MemoryStream stream = new MemoryStream();

StreamWriter writer = new StreamWriter( stream );

writer.Write( test );

writer.Flush();



// convert stream to string

stream.Position = 0;

StreamReader reader = new StreamReader( stream );

string text = reader.ReadToEnd();

 
コードは簡潔で、あなたが必要としているのかもしれません.
 
Update:  Convert Object To Byte Array And Viceversa (serialization) Using BinaryFormatter and MemoryStream