3

私はモビの本を解析しようとしていますが、本の情報、つまりタイトル、著者、表紙(もしあれば)を取得したいだけです。私はmobi format specに従っています。

これで、タイトルと著者を正しく取得できますが、表紙に関しては、これまでのところ次の情報を取得しています。

  1. 画像レコードのブロック インデックスを取得します。

     108  0x6c    4   First Image index   First record number (starting with 0) that contains an image. Image records should be sequential.
    
  2. 先頭から画像レコードまでのオフセットを取得します

  3. これらのフィールドを取得しようとしましたが、どの本からも取得できませんでした:
EXTH
 201  4   coveroffset  Add to first image field in Mobi Header to find PDB record containing the cover image  <EmbeddedCover>
    202   4   thumboffset  Add to first image field in Mobi Header to find PDB record containing the thumbnail cover image    
    203       hasfakecover

SO、生のバイナリブロックを取得したので、それを他のpngファイルおよびjpgファイルと比較しましたが、共通点はありません。また、このバイナリ ブロックを test.png または test.jpg に保存しようとしましたが、実際の画像ではないようです。

何をすればよいでしょうか?

4

1 に答える 1

0

最初の image_record_block を jpg として完全に保存できます。また、これらは圧縮された画像であるため、mobi や palmdoc の圧縮を受けることはありません。生のファイルをテキスト エディターで開き、それが実際に画像形式であるかどうかを確認する必要があります。これは、間違ったインデックス番号を望んでいるか、ファイル ポインタが正しいオフセットにないことを望んでいる可能性があります。fseek() を使用してみてください。

于 2013-05-08T09:26:24.070 に答える