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

  • 相关阅读:
    Blender 3DOne
    [翻译]XNA外文博客文章精选之sixteen(中)
    实习技术员的基本功(二)
    [翻译]XNA外文博客文章精选之fifteen
    实习技术员的基本功(三)
    [翻译]XNA外文博客文章精选之sixteen(下)
    实习技术员的基本功(一)
    [翻译]XNA外文博客文章精选之sixteen(上)
    思维导图
    MySQL error 1045(28000): Access denied for user ...
  • 原文地址:https://www.cnblogs.com/programsky/p/5139647.html
Copyright © 2011-2022 走看看