这几天的工作是将从硬件中读出的数据“清洗”以后输出到文件中。硬件中的数据都是以0101这种形式储存的,而每两个byte是一组,在这16位的二进制数据中,前11位为数据,后5位为校验位。所谓的“清洗”就是将这两个Byte中的校验位去掉,恢复为11位bit并写入文件中。
因为BinaryWriter是按照字节写入,所以最终笔者也将数字一个Byte一个Byte的写入了。关于二进制的数据的直接操作笔者没有找到,所以将其转换为string即字符串类型,这样补位之类的操作就简单了很多。平移是在数据层面完成的,而补位等是在字符串层面完成的。以下为完整代码,已经跑通,希望能给同为初学者的大家一点帮助。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
public static String DataStr = "";
public static void CreatFile()
{
if (File.Exists("mydata.bin")) //判断文件是否已经存在
{
//fs =new FileStream ("mydata.bin", FileMode.Open);
File.Delete("mydata.bin"); //存在则删除原文件
var myfile&#