C#中二进制和流之间的各种相互转换
一. 二进制转换成图片间的转换
| 
 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的转换代码
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[] 之间的转换
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | 
/// 将 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; }   /// 将 byte[] 转成 Stream   public Stream BytesToStream(byte[] bytes) {     Stream stream = new MemoryStream(bytes);     return stream; } | 
四. Stream 和 文件之间的转换
将 Stream 写入文件
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
 | 
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
| 
 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[] 转换成 Stream     Stream stream = new MemoryStream(bytes);     return stream;     } | 
六Bitmap 转化为 Byte[]
| 
 1 
2 
3 
4 
5 
6 
 | 
//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#中二进制和流之间的各种相互转换的更多相关文章
- java中二进制和流的相互转换
		
流转二进制 public static byte[] toByteArray(InputStream in) throws IOException { ByteArrayOutputStream ou ...
 - C语言中的文本流与二进制流的区别
		
近期看到了文本流和二进制流的区别,书上讲的比较含糊,理解不透彻,于是细细琢磨了下,把心得跟大家分享一下: 一.首先回答,什么是文件,流 一个文件通常就是磁盘上的一段命名的存储区.比如 stdio.h ...
 - Java中的IO流系统详解(转载)
		
摘要: Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java ...
 - Java中的IO流系统详解
		
Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...
 - Java中的IO流,Input和Output的用法,字节流和字符流的区别
		
Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...
 - Floodlight中的临时流表
		
运行Floodlight,在Mininet中新建一个拓扑之后,并未添加相关的流表项,但是主机之间却可以相互通信.执行pingall操作,任意两个主机之间都能通.相当于没有任何路由表的路由器,它是怎么让 ...
 - java中的IO流
		
Java中的IO流 在之前的时候我已经接触过C#中的IO流,也就是说集中数据固化的方式之一,那么我们今天来说一下java中的IO流. 首先,我们学习IO流就是要对文件或目录进行一系列的操作,那么怎样操 ...
 - java 中 “文件” 和 “流” 的简单分析
		
java 中 FIle 和 流的简单分析 File类 简单File 常用方法 创建一个File 对象,检验文件是否存在,若不存在就创建,然后对File的类的这部分操作进行演示,如文件的名称.大小等 / ...
 - C/C++中二进制与文本方式打开文件的区别
		
二进制与文本文件主要有两个大的区别: 1.换行符的区别: Windows平台下 对于Windows文本文件,它们使用回车和换行来表示换行符:如果以“文本”方式打开文件,当读取文件的时候,系统会将所有 ...
 
随机推荐
- 更改 AWS RDS mysql时区 -摘自网络
			
AWS RDS AWS上搭建数据库的时候,不是DB on EC2就是RDS,但是选择RDS时,Timezone怎么处理? 「面向全球提供的AWS来讲理所当然的是UTC」,而RDS也不是例外.把服务器迁 ...
 - linux分享一:网络设置
			
在Linux中,TCP/IP网络的配置信息存在几个不同的文件里面,这些文件分别就是 /etc/sysconfig/network. 网卡配置文件. /etc/hostc. /ect/resolv.co ...
 - Atitti html5 h5 新特性attilax总结
			
Atitti html5 h5 新特性attilax总结 Attilax觉得不错的新特性 3.语义Header和Footer (The Semantic Header and Footer) 8.占位 ...
 - Vivado中debug用法
			
Vivado和ISE相比ChipScope已经大幅改变,很多人都不习惯.在ISE中称为ChipScope而Vivado中就称为in system debug.下面就介绍Vivado中如何使用debug ...
 - 【Unity】11.5 物理材质 (Physics Material)
			
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 物理材质 (Physics Material) 用于调整碰撞对象的摩擦力和反弹效果. 二.创建物理材质 要创建物理材质 ...
 - 编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url
			
编写一个C语言函数,要求输入一个url,输出该url是首页.目录页或者其他url 首页.目录页或者其他url 如下形式叫做首页: militia.info/ www.apcnc.com.cn/ htt ...
 - zabbix 对/etc/ssh/sshd_config文件的监控 但status为unknowen
			
原因为该文件没有被访问的权限: # ll /etc/ssh/sshd_config -rw------- root root Apr : /etc/ssh/sshd_config 授权后再看: [ro ...
 - Fluent UDF【2】:学习途径
			
要怎样做才能做到无畏惧编写任何UDF程序?估计很多与UDF打交道的人都会问到这个问题. 面对UDF文档中那众多的宏描述,小伙伴们是不是感觉到茫然无措,不知从何入手.有时候读别人写好的程序感觉并不难,然 ...
 - cocoside 编译错误可能问题
			
版本不对..查看/usr/xxx/.profile中console等的全局变量 安装了不和谐的版本..记得删除application/cosos 重新安装. 或者干掉cocostudio
 - vue如何在路由跳转的时候更新组件
			
项目中在路由跳转的时候碰到一个问题,没有更新视图,如何解决呢: https://segmentfault.com/a/1190000008879966 http://www.tuicool.com/a ...