0x00 起因

最近需要处理一些基于比特流的数据,计算机处理数据一般都是以byte(8bit)为单位的,使用BinaryReader读取的数据也是如此,即使读取bool型也是一个byte。不过借助于C#基础类库中提供的一些方法,也实现了对基于比特的数据的读取。任务完成后觉得基于比特的数据挺有意思,自己试了下用7比特和6比特编码常用ASCII字符。最后把一点新的写成博客,一方面做个记录,另一方面希望对有类似需求的园友有所帮助。

0x01 比特流数据的读取

假设我们有一个byte b = 35,而我们需要把其中的前4bit和后4bit分别读取为两个数字,那么应该怎么做呢。虽然没有在基础类库中找到现成的方法,但用二进制字符串中转一下,分两步也可以做到。

1、先把b表示为二进制字符串00100011

2、分别取其前后4bit转为数字,核心方法就是:

Convert.ToInt32("0010");

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式