我想将任何文件读取为二进制0和1(txt,exe,png等),然后我要对此0和1做一些操作,我想重新创建该文件,例如,如果该文件是.png然后我希望新图像能够正常工作。请注意,我知道更改0和1可能会损坏文件,但是我确实知道对此0和1做些什么
我可以使用以下代码将文件读取为0和1并将其写入txt文件,但是我想要的是在编辑0和1之后重新创建原始文件,并且该文件应该可以工作
string inputFilename = @“ / xx / xxx / xxx / xxx / folder / original.jpg”; 字符串outputFilename = @“ / xx / xxx / xxx / xxx / folder / New.txt”;
byte[] fileBytes = File.ReadAllBytes(inputFilename);
StringBuilder sb = new StringBuilder();
foreach (byte b in fileBytes)
{
sb.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
}
File.WriteAllText(outputFilename, sb.ToString());
我希望将任何文件读取为二进制文件,对0和1进行处理,然后再次重新创建文件
答案 0 :(得分:1)
var byteData = File.ReadAllBytes(inputFileName);
var bitData = new BitArray(byteData);
for(var i = 0; i < bitData.Length; i++)
{
// do something to bitData[i] as bool values(true as 1 and false as 0);
}
bitData.CopyTo(byteData, 0);
File.WriteAllBytes(outputFileName, byteData);