文件转换成二进制流及二进制流转换成文件

原文发布时间为:2008-08-10 —— 来源于本人的百度文章 [由搬家工具导入]

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.IO;

/// <summary>
/// fileToData 的摘要说明
/// </summary>
public class fileToData
{
public fileToData()
{
   //
   // TODO: 在此处添加构造函数逻辑
   //
}
    public static string FileToBinary(string fpath)
    {
        FileStream fs = new FileStream(fpath, FileMode.Open, FileAccess.Read);
        int fileLength = Convert.ToInt32(fs.Length);
        byte[] fileBytes = new byte[fileLength];
        BinaryReader br = new BinaryReader(fs);
        for (int i = 0; i < fileLength; i++)
        {
            br.Read(fileBytes, 0, fileLength);
        }
        br.Close();
        fs.Close();
        string strData = Convert.ToBase64String(fileBytes);
        return strData;
    }

    public static void BinaryToFile(string fpath, string binary)
    {
        FileStream fs = new FileStream(fpath, FileMode.Create, FileAccess.Write);
        BinaryWriter bw = new BinaryWriter(fs);
        bw.Write(Convert.FromBase64String(binary));
        bw.Close();
        fs.Close();
    }

}

转载于:https://www.cnblogs.com/handboy/p/7141563.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以通过MATLAB的`imread`函数读取图像,将图像换为二进制比特的方法是使用MATLAB的`dec2bin`函数将每个像素值换为二进制数,然后将所有像素值的二进制数连接起来形成一个比特。 以下是一个简单的示例代码,演示了如何将图像换为二进制比特: ```matlab % 读取图像 I = imread('image.jpg'); % 将图像换为单通道灰度图像 I_gray = rgb2gray(I); % 将像素值换为二进制数 binary = dec2bin(I_gray(:), 8); % 将二进制数连接起来形成比特 bitstream = reshape(binary', 1, []); % 将比特流转换为字节 byte_array = reshape(bitstream', 8, [])'; byte_array = bin2dec(byte_array); % 将字节写入文件 fid = fopen('output.bin', 'w'); fwrite(fid, byte_array, 'uint8'); fclose(fid); ``` 在这个例子中,我们首先使用`imread`函数读取图像,然后使用`rgb2gray`函数将图像换为单通道灰度图像。接下来,我们使用`dec2bin`函数将每个像素值换为8位二进制数,并使用`reshape`函数将这些二进制数连接起来形成比特。最后,我们将比特流转换为字节,然后使用`fwrite`函数将字节写入文件。 ### 回答2: MATLAB中可以将图像转换成二进制比特的方法有很多种,以下是一种常见的方法: 首先,需要读取图像文件。可以使用MATLAB中的imread函数来读取图像文件,例如: img = imread('image.jpg'); 然后,将图像转换成灰度图像。可以使用MATLAB中的rgb2gray函数将彩色图像换为灰度图像,例如: gray_img = rgb2gray(img); 接下来,将灰度图像转换成二进制比特。可以使用MATLAB中的de2bi函数将每个像素的灰度值换为对应的二进制比特,例如: binary_stream = de2bi(gray_img); 最后,可以保存二进制比特文件中。可以使用MATLAB中的fwrite函数将二进制比特写入文件,例如: fid = fopen('binary_stream.txt', 'w'); fwrite(fid, binary_stream, 'ubit1'); fclose(fid); 以上就是将MATLAB图像转换成二进制比特的简单步骤。当然,根据具体需求,还可以进行一些额外的处理,例如图像压缩、图像编码等。 ### 回答3: 要将MATLAB图像换为二进制比特,你可以按照以下步骤进行: 1. 读取图像:使用MATLAB的imread函数读取图像文件。该函数将图像读取为一个矩阵,其中每个元素表示图像中的像素值。 2. 换为灰度图像:如果图像是彩色图像,则可以使用MATLAB的rgb2gray函数将其换为灰度图像。这样可以使每个像素只占用一个字节,方便后续换为二进制比特。 3. 将图像矩阵换为一维向量:使用MATLAB的reshape函数将图像矩阵换为一维向量。这将方便后续处理每个像素的比特值。 4. 将灰度值换为二进制比特:对于每个像素的灰度值,可以使用MATLAB的dec2bin函数将其换为8位二进制数。这将给出一个包含图像中所有像素的二进制比特。 5. 拼接比特:将每个像素的二进制比特拼接起来,形成一个完整的二进制比特。可以使用MATLAB的cat函数或vertcat/horzcat函数进行拼接。 6. 保存为二进制文件:最后,使用MATLAB的fwrite函数将二进制比特保存为二进制文件。你可以选择以不同的文件格式保存,如txt或dat。 总之,以上步骤描述了将MATLAB图像换为二进制比特的基本过程。你可以根据具体需求对换过程进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值