我以前从未徘徊过阅读二进制数据。我正在尝试学习,并创建一个简单的应用程序来读取FLAC文件中的标题数据,并以人类可读的格式显示信息。
首先,鉴于我感兴趣的第一位数据是0x10000100,如何使用C#读取第一位(1)然后读取后续7位中存储的int值?我已经知道如何使用binaryreader将字节读入字节数组...只是不知道如何在代码中解析这些数据。
提前致谢。
答案 0 :(得分:3)
Binray“和”&
,“或”|
,“而非”~
用于提取位。
这是近似代码:
byte value = 0x84;
bool flag = (value & 0x80) != 0;
var intPart = value & ~0x80;