aspose.info
RU

Формат файла OBML — файл сохраненной веб-страницы Opera Mini

Обновлено

.OBML вариант №

Файл OBML (Opera Binary Markup Language) — это автономная версия веб-страницы, сохраненная мобильным веб-браузером Opera Mini. Это автономная компактная версия файлов HTML, которая содержит все элементы страницы для отображения на определенных устройствах в автономном режиме. Формат файла OBML был обновлен до нескольких версий, при этом OBML15 и OBML16 используются в целом. Важно помнить, что каждая версия Opera Mini совместима только с одним форматом OBML. Таким образом, обновление Opera Mini оставит ранее сохраненные страницы доступными для чтения. Файлы OBML можно преобразовать в HTML и PDF.

Формат файла OBML

Формат файла OBML сохраняется в проприетарном формате файла Opera, и его спецификации формата файла недоступны для общественности. Однако формат OMBL был реконструирован для декодирования его структуры следующим образом.

Типы данных OBML

Согласно результатам обратного проектирования, OBML использует следующие примитивные типы:

  • байт – беззнаковое целое (1 байт)
  • short – целое число со знаком (2 байта, обратный порядок байтов)
  • medium – целое число со знаком (3 байта, обратный порядок байтов)
  • blob – { length: short, data: byte[length] }
  • char – байт, содержащий символ ASCII
  • string – большой двоичный объект, содержащий текст в кодировке UTF-8.

Заголовок OBML

header := {
	(if version >= 15) {
		fake_file_size: medium = 0x02d355
		fake_version: byte     = 16
	}
	file_size: medium
	version: byte
	page_size: coords
	(if version == 16) {
		unknown: byte[3]      // always S\x00\x00
	}
	unknown: short                // always -1
	page_title: string
	unknown: blob
	page_url_base: string
	page_url: url
	(if version >= 15) {
		unknown: byte[6]
	}
	(if 6 < version <= 13) {
		unknown: byte[5]
	}
	(if version == 6) {
		unknown: byte[1]
	}
	metadata: chunk[]
	content: chunk[]
}

использованная литература