1 比特数组转图片
public static Image byteToImg(byte[] buffer)
{
MemoryStream ms = new MemoryStream(buffer);
ms.Position = 0;
Image img = Image.FromStream(ms);
ms.Close();
return img;
}
2 图片转比特数组
public static byte[] byte2img(Bitmap Bit)
{
byte[] back = null;
MemoryStream ms = new MemoryStream();
Bit.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
back = ms.GetBuffer();
return back;
}
3 字符串转比特数组
public static byte[] str2byte(string str)
{
byte[] data = System.Text.Encoding.UTF8.GetBytes(param);
//byte[] data = Convert.FromBase64String(param);
//有很多种编码方式,可参考:http://blog.csdn.net/luanpeng825485697/article/details/77622243
return data;
}
4 比特数组转字符串
public static string str2byte(byte[] data)
{
string str = System.Text.Encoding.UTF8.GetString(data);
//str = Convert.ToBase64String(data);
//有很多种编码方式,可参考:http://blog.csdn.net/luanpeng825485697/article/details/77622243
return str;
}
5 内存流转比特数组
public static byte[] byte2stream(MemoryStream outStream)
{
return outStream.ToArray();
}
public byte[] stream2byte(Stream stream)
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
return bytes;
}
6 比特数组转内存流
public Stream byte2stream(byte[] bytes)
{
Stream stream = new MemoryStream(bytes);
return stream;
}
7 流的写入文件
public void stream2file(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();
}
8 文件的读取
public Stream file2stream(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;
}