我想用C#读取二进制文件的具体内容、结构这些的,比如说bmp或者jpg的,请教下这块应该怎么写?
如果是图片png,jpg之类的,C#自带 image类,从文件读取就可以,进内存就是可操作的像素数组,像素格式等信息也可以获取,内存里的原始表示格式查阅相应类库文档。其他二进制数据如果是比较有名的格式一般会有解析库。
如果想学习这些格式自己写代码,请查阅格式的标准文档,标准委员会的网站都有,或者网上找相关文章学习。用文件流读取字节数组就能随意操作了。
比如图片编码,至少要学习哈夫曼编码,分块编码,傅立叶变换等相关知识。完全没有没有压缩的原始数据格式只有BMP,基本就是24位bgr像素数组。一个文件头记录分辨率,色彩深度等元数据,跟上像素数组就没了。