Файл MOBI - это электронная книга в формате Mobipocket. Mobipocket была французской компанией, программное обеспечение для чтения которой работало на карманных устройствах Palm и Windows Mobile; Amazon купила её в 2005 году и сделала этот формат основой для первых устройств Kindle. Поэтому файлы MOBI и файлы Kindle так похожи по внутреннему устройству. С тех пор Amazon перевела свои собственные приложения на Kindle Format 8 и EPUB, так что MOBI теперь считается устаревшим форматом, который вы встречаете в старых коллекциях электронных книг, а не форматом, в который кто‑то публикует новые издания.
Как устроен файл MOBI
MOBI основан на формате Palm Database, контейнере времён Palm OS, и это двоичный формат: при открытии такого файла в текстовом редакторе вы не увидите ничего полезного. Файл начинается с заголовка, в котором указано имя базы данных, обычно это укороченная версия названия книги, и помечен кодом типа BOOKMOBI. Всё, что следует далее, - это пронумерованный список записей.
Текст книги разбит на записи объёмом до четырёх килобайт каждая и сжат либо по схеме PalmDOC, либо по более плотной схеме HuffCDIC; в некоторых файлах текст не сжимается. Обе схемы являются без потерь, так что при упаковке ничего не теряется. Внутренняя разметка - это урезанный HTML, похожий на веб конца девяностых, с минимальным оформлением и без встроенных шрифтов. Изображения хранятся в отдельных записях и ссылаются по номеру. Файлы, созданные старым приложением Amazon kindlegen, часто содержат как бы две книги: раздел MOBI для старых устройств и раздел Kindle Format 8 для новых, разделённые специальной граничной записью.
Какие метаданные содержит файл MOBI
MOBI хранит описательную информацию в заголовке EXTH (extended header, расширенный заголовок), который расположен сразу после основного заголовка MOBI. Это список записей, каждая помечена числовым идентификатором, а не именем, поэтому в отчёте часто показываются и число, и текст. В реальности вы увидите там автора (запись 100), издателя (101), описание или аннотацию (103), ISBN (104), тематические теги (105), дату публикации (106), участника (108), условия использования (109) и ASIN (113) - идентификатор, который Amazon присваивает изданию в своём каталоге. Есть также поле языка и обновлённое название, переопределяющее имя из заголовка Palm.
Два из этих полей стоит рассмотреть подробнее. Поле участника почти никогда не содержит имя человека: приложения для конвертации указывают там себя, поэтому там обычно написано Calibre или kindlegen с номером версии, что показывает, какая программа обработала файл и примерно когда. Заголовок Palm добавляет собственные метки времени создания и изменения. Таким образом, MOBI по задумке содержит имена автора и издателя, а помимо этого фиксирует ПО, которым он был создан, и время создания, тогда как ASIN или ISBN привязывают файл к конкретному опубликованному изданию. Родственные MOBI файлы .azw с защитой DRM от Amazon дополнительно привязаны к учётной записи, на которую они были куплены. Обложка внутри файла также содержит собственные данные EXIF, блок информации о камере, который встречается в фотографиях.
Когда использовать MOBI
Единственная по-настоящему веская причина хранить книгу в формате MOBI - это устройство, которое не умеет читать более новые форматы: ранний Kindle или карманный ридер времён Mobipocket. Во всех остальных случаях компромисс получается очень жёстким. MOBI не поддерживает встроенные шрифты, почти не управляет вёрсткой, не имеет режима с фиксированным макетом и допускает только один линейный порядок чтения, поэтому типографика издателя и сложные страницы в нём попросту не сохраняются. EPUB - переносимый вариант, а AZW3 - родной для Kindle, и оба поддерживают современные стили. Преобразовать MOBI в любой из них несложно, но конвертация не может восстановить оформление, которое этот формат изначально не умел хранить.