zoukankan      html  css  js  c++  java
  • 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 和 文件之间的转换

    1.将 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(); 
    }
    
    2.从文件读取 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();

    转自:http://www.jb51.net/article/54573.htm

  • 相关阅读:
    mysql数据库 --数据类型、约束条件
    并发编程 --线程
    并发编程 --进程
    MySQL数据库 --基础
    网络编程之 TCP-UDP的详细介绍
    网络编程之 OSI七层协议
    python 元类、单例模式
    python 面向对象_多态、内置方法、反射
    Python 面向对象_继承、组合
    简单工厂设计模式
  • 原文地址:https://www.cnblogs.com/programsky/p/5139647.html
Copyright © 2011-2022 走看看