当前位置: 首页 > 编程笔记 >

C#实现Stream与byte[]之间的转换实例教程

费朗
2023-03-14
本文向大家介绍C#实现Stream与byte[]之间的转换实例教程,包括了C#实现Stream与byte[]之间的转换实例教程的使用技巧和注意事项,需要的朋友参考一下

本文以实例形式详细介绍了C#实现Stream与byte[]之间的转换的方法,分享给大家供大家参考之用。具体方法如下:

一、二进制转换成图片

MemoryStream ms = new MemoryStream(bytes); 
ms.Position = 0; 
Image img = Image.FromStream(ms); 
ms.Close(); 
this.pictureBox1.Image

二、C#中byte[]与string的转换代码

1.

System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding(); 
byte[] inputBytes =converter.GetBytes(inputString); 
string inputString = converter.GetString(inputBytes);

2.

string inputString = System.Convert.ToBase64String(inputBytes); 
byte[] inputBytes = System.Convert.FromBase64String(inputString); 
FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);

三、C# Stream 和 byte[] 之间的转换

1.将 Stream 转成 byte[] 

public byte[] StreamToBytes(Stream stream) 
{ 
  byte[] bytes = new byte[stream.Length]; 
  stream.Read(bytes, 0, bytes.Length); 
  // 设置当前流的位置为流的开始 
  stream.Seek(0, SeekOrigin.Begin); 
  return bytes; 
} 

2.将 byte[] 转成 Stream 

public Stream BytesToStream(byte[] bytes) 
{ 
  Stream stream = new MemoryStream(bytes); 
  return stream; 
}

四、Stream 和 文件之间的转换

将 Stream 写入文件

public void StreamToFile(Stream stream,string fileName) 
{ 
  // 把 Stream 转换成 byte[] 
  byte[] bytes = new byte[stream.Length]; 
  stream.Read(bytes, 0, bytes.Length); 
  // 设置当前流的位置为流的开始 
  stream.Seek(0, SeekOrigin.Begin); 
  // 把 byte[] 写入文件 
  FileStream fs = new FileStream(fileName, FileMode.Create); 
  BinaryWriter bw = new BinaryWriter(fs); 
  bw.Write(bytes); 
  bw.Close(); 
  fs.Close(); 
}

五、从文件读取 Stream

public Stream FileToStream(string fileName) 
{       
  // 打开文件 
  FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read); 
  // 读取文件的 byte[] 
  byte[] bytes = new byte[fileStream.Length]; 
  fileStream.Read(bytes, 0, bytes.Length); 
  fileStream.Close(); 
  // 把 byte[] 转换成 Stream 
  Stream stream = new MemoryStream(bytes); 
  return stream; 
}

六、Bitmap 转化为 Byte[]

Bitmap BitReturn = new Bitmap(); 
byte[] bReturn = null; 
MemoryStream ms = new MemoryStream(); 
BitReturn.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
bReturn = ms.GetBuffer();

相信本文所述对大家的C#程序设计有一定的借鉴价值。

 类似资料:
  • 本文向大家介绍详谈C# 图片与byte[]之间以及byte[]与string之间的转换,包括了详谈C# 图片与byte[]之间以及byte[]与string之间的转换的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇详谈C# 图片与byte[]之间以及byte[]与string之间的转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我正在使用hibernate将对象映射到数据库。客户端(一个iOS应用程序)以JSON格式向我发送特定对象,我使用以下实用程序方法将其转换为真实的表示形式: 但问题是,在我的pogo中,我将值存储为一个byte[],如下所示(因为这是存储在数据库中的内容--一个blob): 当然,现在转换失败了,因为它不能在一个byte[]和一个字符串之间进行转换。 这里最好的方法是更改构造函数以接受字符串而不是

  • 本文向大家介绍php实现xml与json之间的相互转换功能实例,包括了php实现xml与json之间的相互转换功能实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现xml与json之间的相互转换功能。分享给大家供大家参考,具体如下: 用php实现xml与json之间的相互转换: 相关函数请查看php手册。 一、参考xml如下 二、xml转换成json 利用simplexml 三

  • String转换到Byte数组时,每个byte(byte类型其实就是uint8)保存字符串对应字节的数值。 注意Go的字符串是UTF-8编码的,每个字符长度是不确定的,一些字符可能是1、2、3或者4个字节结尾。 示例1: package main import "fmt" func main() { s1 := "abcd" b1 := []byte(s1) fmt.Pri

  • 本文向大家介绍java byte数组与int,long,short,byte的转换实现方法,包括了java byte数组与int,long,short,byte的转换实现方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上就是小编为大家带来的java byte数组与int,long,short,byte的转换实现方法全部内容了,希望大家多多支持呐喊教程~

  • 本文向大家介绍实例详解Java实现图片与base64字符串之间的转换,包括了实例详解Java实现图片与base64字符串之间的转换的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴java实现图片与base84字符串之间的转换代码了,具体代码如下所示: 以上所述是小编给大家介绍的Java实现图片与base64字符串之间的转换,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编