EBML (англ. Extensible Binary Meta Language — розширювана бінарна метамова) — двійковий формат файлів, при створенні якого стояло завдання створити аналог XML для двійкових даних. Спочатку був створений для мультимедіа контейнера Matroska; використовується в WebM.
Загальна структура
Дуже важливою особливістю формату є наявність «значень за замовчуванням» для багатьох елементів, це дозволяє створювати файл без детального опису всіх параметрів.
Типи даних
- Signed Integer — знакове ціле, порядок байтів big-endian, довільного розміру від 1 до 8 байт.
- Unsigned Integer — беззнакове ціле, порядок байтів big-endian, довільного розміру від 1 до 8 байт.
- Float — число з плаваючою комою, порядок байтів big-endian, розміру 4 або 8 байт.
- String — текстовий рядок у форматі ASCII (символи ASCII, з кодами від 32 до 127). Наявність завершального нуля опціонально і залежить від вимог парсера.
- UTF-8 — рядок Unicode у форматі UTF-8. Наявність завершального нуля опціонально і залежить від вимог парсера.
- Date — час у наносекундах, знакове ціле, 64 біта. 0 означає початок третього тисячоліття 01.01.2001 00:00:00,000000000 UTC.
- Master-element — контейнер для інших EBML елементів (більш низького рівня).
- Binary — дані, що не інтерпретуються парсером.
Числа змінного розміру
Однією з особливостей формату є числа змінного розміру. Кодування числа здійснюється подібно кодуванню символів в кодуванні UTF-8, розмір числа визначається кількістю нульових біт (точніше, положенням першого ненульового біта). Максимальне число обчислюється як 2 кількість бітів−2.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | бітів | діапазон, що кодується |
---|---|---|---|---|---|---|---|---|---|
1××××××× | 7 | [0;126] | |||||||
01×××××× | ×××××××× | 14 | [0;16382] | ||||||
001××××× | ×××××××× | ×××××××× | 21 | [0;2097150] | |||||
0001×××× | ×××××××× | ×××××××× | ×××××××× | 28 | [0;268435454] | ||||
00001××× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | 35 | [0;34359738366] | |||
000001×× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | 42 | [0;4398046511102] | ||
0000001× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | 49 | [0;562949953421310] | |
00000001 | ×××××××× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | ×××××××× | 56 | [0;72057594037927934] |
Див. також
Посилання
- — чернетка стандарту EBML. (англ.)
- EBML Homepage — the opensource Extensible Binary Meta-Language. [ 31 липня 2013 у Wayback Machine.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
EBML angl Extensible Binary Meta Language rozshiryuvana binarna metamova dvijkovij format fajliv pri stvorenni yakogo stoyalo zavdannya stvoriti analog XML dlya dvijkovih danih Spochatku buv stvorenij dlya multimedia kontejnera Matroska vikoristovuyetsya v WebM Zagalna strukturaDuzhe vazhlivoyu osoblivistyu formatu ye nayavnist znachen za zamovchuvannyam dlya bagatoh elementiv ce dozvolyaye stvoryuvati fajl bez detalnogo opisu vsih parametriv Tipi danihSigned Integer znakove cile poryadok bajtiv big endian dovilnogo rozmiru vid 1 do 8 bajt Unsigned Integer bezznakove cile poryadok bajtiv big endian dovilnogo rozmiru vid 1 do 8 bajt Float chislo z plavayuchoyu komoyu poryadok bajtiv big endian rozmiru 4 abo 8 bajt String tekstovij ryadok u formati ASCII simvoli ASCII z kodami vid 32 do 127 Nayavnist zavershalnogo nulya opcionalno i zalezhit vid vimog parsera UTF 8 ryadok Unicode u formati UTF 8 Nayavnist zavershalnogo nulya opcionalno i zalezhit vid vimog parsera Date chas u nanosekundah znakove cile 64 bita 0 oznachaye pochatok tretogo tisyacholittya 01 01 2001 00 00 00 000000000 UTC Master element kontejner dlya inshih EBML elementiv bilsh nizkogo rivnya Binary dani sho ne interpretuyutsya parserom Chisla zminnogo rozmiruOdniyeyu z osoblivostej formatu ye chisla zminnogo rozmiru Koduvannya chisla zdijsnyuyetsya podibno koduvannyu simvoliv v koduvanni UTF 8 rozmir chisla viznachayetsya kilkistyu nulovih bit tochnishe polozhennyam pershogo nenulovogo bita Maksimalne chislo obchislyuyetsya yak 2 kilkist bitiv 2 1 2 3 4 5 6 7 8 bitiv diapazon sho koduyetsya 1 7 0 126 01 14 0 16382 001 21 0 2097150 0001 28 0 268435454 00001 35 0 34359738366 000001 42 0 4398046511102 0000001 49 0 562949953421310 00000001 56 0 72057594037927934 Div takozhWBXML Matroska WebM XMLPosilannya chernetka standartu EBML angl EBML Homepage the opensource Extensible Binary Meta Language 31 lipnya 2013 u Wayback Machine angl Cya stattya ye zagotovkoyu Vi mozhete dopomogti proyektu dorobivshi yiyi Ce povidomlennya varto zaminiti tochnishim