几个月前我已经在这里问过类似的问题,但是我的更新中使用的解决方案当然不好,因为我不知道我想要的文件从哪个偏移开始,该代码读取整个文件,直到找到想要的字符串这不方便。这就是为什么我搜索了一个用 Java 编码的 ISO9660 文件阅读器,我遇到了这个可以完美读取 ISO9660 文件的项目,但是有一些文件格式bin
,img
我希望能够打开。
不幸的是,该代码不起作用,因为它期望 ISO9660 标头位于此处和此处\x01CD001\x01
的标准所定义的前缀偏移量(32768,就在前 16 个扇区之后,保留用于其他目的):
7. 前十六扇区为空
前 16 个扇区(扇区编号 0 到 15,包括在内)只包含零。ISO9660 没有定义这些扇区的内容,但对于 DOS,它们显然总是写为零。它们显然是为可以从 CD-ROM 引导的系统保留的。
就我而言,我有一个img
磁盘bin
映像,其\x01CD001\x01
标头的偏移量为 37656,在第 18 个扇区结束后 792 个字节。这会使代码抛出错误。
既然有软件可以 在不需要 or文件的情况下读取bin
and文件的内容,那么在这种情况下填写文件头的规则是什么?它是标准还是他们通过字节粗暴地搜索标头?如果这是一个标准,我在哪里可以找到任何类型的文档/实施?img
cue
ccd
更新:我发现这些文件有不同的扇区大小:2352 字节/扇区,因为它们是 CD-R 的原始副本。