C#中二进制和流之间的各种相互转换
生活随笔
收集整理的這篇文章主要介紹了
C#中二进制和流之间的各种相互转换
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一. 二進(jìn)制轉(zhuǎn)換成圖片間的轉(zhuǎn)換
| 1 2 3 4 5 | MemoryStream ms = new?MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream(ms); ms.Close(); this.pictureBox1.Image |
二. C#中byte[]與string的轉(zhuǎn)換代碼
1.
| 1 2 3 | System.Text.UnicodeEncoding converter = new?System.Text.UnicodeEncoding(); byte[] inputBytes =converter.GetBytes(inputString); string?inputString = converter.GetString(inputBytes); |
2.
| 1 2 3 | 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[] 之間的轉(zhuǎn)換
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /// 將 Stream 轉(zhuǎn)成 byte[] ?? public?byte[] StreamToBytes(Stream stream) { ????byte[] bytes = new?byte[stream.Length]; ????stream.Read(bytes, 0, bytes.Length); ????// 設(shè)置當(dāng)前流的位置為流的開始 ????stream.Seek(0, SeekOrigin.Begin); ????return?bytes; } ?? /// 將 byte[] 轉(zhuǎn)成 Stream ?? public?Stream BytesToStream(byte[] bytes) { ????Stream stream = new?MemoryStream(bytes); ????return?stream; } |
四. Stream 和 文件之間的轉(zhuǎn)換
將 Stream 寫入文件
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public?void?StreamToFile(Stream stream,string?fileName) { ????// 把 Stream 轉(zhuǎn)換成 byte[] ????byte[] bytes = new?byte[stream.Length]; ????stream.Read(bytes, 0, bytes.Length); ????// 設(shè)置當(dāng)前流的位置為流的開始 ????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
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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[] 轉(zhuǎn)換成 Stream ????Stream stream = new?MemoryStream(bytes); ????return?stream; ?? ?? } |
六Bitmap 轉(zhuǎn)化為 Byte[]?
| 1 2 3 4 5 6 | //Bitmap 轉(zhuǎn)化為 Byte[] ????????????????Bitmap BitReturn = new?Bitmap(); ????????????????byte[] bReturn = null; ????????????????MemoryStream ms = new?MemoryStream(); ????????????????BitReturn.Save(ms, System.Drawing.Imaging.ImageFormat.Png); ????????????????bReturn = ms.GetBuffer(); |
轉(zhuǎn)載于:https://www.cnblogs.com/jasonoiu/p/6285311.html
總結(jié)
以上是生活随笔為你收集整理的C#中二进制和流之间的各种相互转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 上传微信媒体,关于微信公众号AP
- 下一篇: sql-C#-类型对应