Что такое формат файла FB2?
Файлы с расширением .fb2 (FictionBook 2.0) - это файлы электронных книг, поддерживаемые широким спектром устройств и приложений для чтения. Формат основан на XML и, в отличие от формата EPUB (который упаковывает данные в несколько файлов внутри одного ZIP-контейнера), вся его структура состоит из одного XML-файла. Формат зародился в России, где он был разработан Дмитрием Грибовым и сообществом FictionBook примерно в 2004 году, и получил там наибольшую популярность - изначально в сфере фантастической литературы.
Структура файла FB2
Данные, содержащиеся в файлах .fb2, включают заголовки и издательские метаданные, такие как информация об авторе, номер ISBN, издательство и структурную разметку для прозы или стихов, что делает этот формат хорошо подходящим для индексации и каталогизации электронных книг. Формат широко используется различными инструментами индексации и библиотечным программным обеспечением. Помимо текста, все изображения встраиваются непосредственно в XML-файл, преобразуются в Base64 и помещаются внутрь тегов <binary> в конце документа.
Из-за метода кодирования Base64 объем встроенных изображений почти на 40% больше оригиналов. По этой причине файлы .fb2 часто распространяются сжатыми в архивы .fb2.zip или .fbz - стандартные пакеты ZIP, которые большинство устройств и программ поддерживают напрямую. Формат является открытым, не содержит DRM и использует MIME-тип application/x-fictionbook+xml.
Что стоит знать о FB2
Поскольку бинарные данные изображений размещаются в конце XML-файла, приложение для чтения может начать отрисовку текста до того, как файл будет полностью загружен. Кроме того, переименовав расширение .fb2 в .zip, можно получить прямой доступ к текстовому содержимому и метаданным электронной книги, распаковав её любым стандартным архиватором, таким как 7-Zip.
Безопасность и защита
РИСК: LOWFB2 - это текстовый формат на основе чистого XML без DRM, и он относится к числу наиболее безопасных форматов электронных книг. Он не поддерживает собственные скрипты, поэтому сам файл представляет низкий риск. Практические риски связаны с источниками: многие книги FB2 скачиваются из бесплатных/пиратских библиотек, которые могут сопровождать загрузку рекламным ПО или фальшивыми кнопками «скачать», и (редко) некорректный FB2 может попытаться использовать уязвимость в устаревшей читалке. Обновляйте приложение для чтения и отдавайте предпочтение проверенным источникам. Поскольку FB2 - это просто XML, вы можете безопасно просмотреть его в текстовом редакторе перед открытием в читалке.
Детали формата
в двух словахПрограммы, открывающие файлы FB2
Технические подробности
глубокая спецификация| Тип формата | Единый XML-документ; весь текст и встроенные изображения хранятся в одном файле |
| Корневой элемент | <FictionBook> с пространством имен XML xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" |
| Кодировка символов | UTF-8 (объявлена в прологе XML: <?xml version="1.0" encoding="utf-8"?>) |
| MIME-тип | application/x-fictionbook+xml |
| Сигнатура файла | Начинается с объявления XML <?xml (hex 3C 3F 78 6D 6C); бинарные магические байты отсутствуют - сжатый .fb2.zip начинается с заголовка ZIP PK (50 4B 03 04) |
| Хранение изображений | Изображения JPEG и PNG встраиваются как Base64 в элементы <binary>, расположенные в конце XML-документа |
| Избыточность размера Base64 | Встроенные изображения примерно на 33-40% больше оригинальных бинарных файлов |
| Сжатые варианты | .fb2.zip и .fbz - стандартный ZIP-архив, содержащий внутри один файл .fb2; поддерживается нативно большинством читалок FB2 |
| DRM | Отсутствует; формат спроектирован как свободный от DRM |
| Элементы метаданных книги | <title-info> внутри <description> содержит название, автора(ов), жанр, аннотацию, ISBN и обложку; <publish-info> содержит издателя, год и город |
| Структурная разметка | Поддерживает разделы (<section>), стихи (<poem>, <stanza>, <v>), эпиграфы, цитаты и сноски через внутренние ссылки href |
| Форматирование текста | Жирный (<strong>), курсив (<emphasis>), зачеркнутый, надстрочный, подстрочный - все выражено в виде именованных элементов XML |
| Прогрессивная отрисовка | Бинарные данные размещаются после основного текста; читалки могут отображать текстовое содержимое до завершения загрузки встроенных изображений |
| Происхождение и основной рынок | Разработан в России Дмитрием Грибовым и сообществом FictionBook; доминирующий формат в русскоязычных цифровых библиотеках |
| Типичный несжатый размер | 50-500 КБ для книг только с текстом; файлы большего размера при наличии иллюстраций из-за избыточности Base64 |
| Выпущен | 2004 (FictionBook 2.0); also distributed compressed as .fb2.zip / .fbz |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.fictionbook.org |
Конвертации FB2
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах FB2.