C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换

时间:2022-05-25 07:12:42

定义string变量为str,内存流变量为ms,比特数组为bt

1.字符串转比特数组

 

复制代码 代码如下:
(1)byte[] bt=System.Text.Encoding.Default.GetBytes("字符串");
(2)byte[] bt=Convert.FromBase64String("字符串");

 

2.字符串转流

 

复制代码 代码如下:
(1)MemoryStream ms=new MemoryStream(System.Text.Encoding.Default.GetBytes("字符串"));
(2)MemoryStream ms=new MemoryStream(Convert.FromBase64String("字符串"));

 

3.流转比特数组

 

复制代码 代码如下:
(1)byte[] bt=ms.ToArray();
(2)MemoryStream ms=new MemoryStream();ms.Write(bt,0,ms.Length);

 

4.流转字符串

 

复制代码 代码如下:
(1)string str=Convert.ToBase64String(ms.ToArray());
(2)string str=System.Text.Encoding.Default.GetString(ms.ToArray());

 

5.比特数组转字符串

 

复制代码 代码如下:
(1)string str=System.Text.Encoding.Default.GetString(bt);
(2)string str=Convert.ToBase64String(bt);

 

6.比特数组转流

 

复制代码 代码如下:
(1)MemoryStream ms=new MemoryStream(bt);
(2)MemoryStream ms=new MemoryStream();ms.Read(bt,0,bt.Length);

 

总结:可以看出byte[]在字符串string和流MemoryStream之间转换起到过渡的作用,string和MemoryStream转换都要先转换成byte[]。