- 6
- 0
- 约2.27万字
- 约 19页
- 2017-07-11 发布于河北
- 举报
第十章:代码案例学习:解析二进制数据格式.pdf
第⼗章:代码案例学习:解析⼆进制数据格式
第⼗章:代码案例学习:解析⼆进制数据格式
本章将会讨论⼀个常见任务:解析 (parsing )⼆进制⽂件。选这个任务有两个⽬的。
第⼀个确 是想谈谈解析过程,但更重要的⽬标是谈谈程序组织、重构和消除样板代
码 (boilerplate code :通常指不重要,但没它又不⾏的代码)。我们将会展⽰如何清
理冗余代码,并为第⼗四章讨论 Monad 做点准备。
我们将要⽤到的⽂件格式来⾃于 netpbm 库,它包含⼀组⽤来处理位图图像的程序及
⽂件格式,它古⽼⽽令⼈尊敬。这种⽂件格式不但被⼴泛使⽤,⽽且还⾮常简单,虽
然解析过程也不是完全没有挑战。对我们⽽⾔最重要的是,netpbm ⽂件没有经过压
缩。
灰度⽂件
netpbm 的灰度⽂件格式名为 PGM (”portable grey map” )。事 上它不是⼀个格式,
⽽是两个:纯⽂本 (又名P2 )格式使⽤ ASCII 编码,⽽更常⽤的原始 (P5 )格式则采
⽤⼆进制表⽰。
每种⽂件格式都包含头信息,头信息以⼀个“魔法”字符串开始,指出⽂件格式。纯⽂
本格式是 P2 ,原始格式是 P5 。魔法字符串之后是空格,然后是三个数字:宽度、⾼
度、图像的最⼤灰度值。这些数字⽤⼗进制 ASCII 数字表⽰,并⽤空格隔开
您可能关注的文档
- 浙江大学电工电子学实验课件 实验9 计数、译码和显示.ppt
- 液体内部汽化的汽化空间与拟沸腾.pdf
- 热稳定试验方法讲解.pdf
- 煤矸石沸腾炉燃烧后灰渣综合利用的新工艺.pdf
- 环绕音效处理器-PT2396.pdf
- 用GAL设计八位二进制可逆同步计数器.pdf
- 用于污水处理的组合式分层生物滤池.pdf
- 电脑办公操作技巧13招.doc
- 画面处理器ROBOTmv90e.doc
- 科学:2.1《大气层》(第二课时)课件(浙教版八年级上).ppt
- 2026湖北武汉林泽人力资源服务有限公司招聘劳务派遣公务出行驾驶员8人笔试模拟试题及答案解析.docx
- 2026四川凉山州布拖县特木里镇第二幼儿园秋季学期辅导员招聘30名笔试备考题库及答案解析.docx
- 2026长江三峡技术经济发展有限公司三峡分公司劳务人员招聘4人笔试参考题库及答案解析.docx
- 2026吉林省高速公路集团有限公司白城分公司劳务派遣项目招聘6人笔试备考题库及详细答案解析.docx
- 大邑县教育系统2026年下半年公开招聘编外教师考试模拟试题及答案解析.docx
- 2026贵州都匀市匀创园区运营管理有限公司面向社会公开招聘管理人员2人笔试参考题库及答案解析.docx
- 2026湖北宜昌市部分县市区面向服务期满且考核合格“三支一扶”人员专项招聘事业单位人员46人笔试模拟试题及答案解析.docx
- 2026浙江丽水遂昌县融媒体中心招见习生1人考试备考题库及答案解析.docx
- 2026财达证券股份有限公司河北分公司招聘6人考试参考题库及详细答案解析.docx
- 2026湖南株洲市渌口区人社局乡村公益性岗位开发计划笔试模拟试题及答案解析.docx
原创力文档

文档评论(0)