Extensible Binary Meta LanguageEBML (Extensible Binary Meta Language) je binární formát souboru. Byl inspirován formátem XML, ale na rozdíl od něj není textový, ale binární. PoužitíFormát EBML byl vytvořen v rámci projektu Matroska, za účelem ukládání tohoto multimediálního kontejneru do binárního souboru. Díky svému návrhu však není na tento účel omezen a je možné pomocí něj ukládat libovolná strukturovaná data. Pro práci s EBML v jazyce C++ nabízí vývojový tým Matroska knihovnu https://github.com/Matroska-Org/libebml. Výhody a nevýhodyVýhody
Nevýhody
StrukturaObdobně jako XML, i EBML se skládá z elementů, a to povinně kořenového elementu a nepovinně dalších. Každý element se skládá ze tří částí: ID, Popis velikosti a poté samotná data. IDID je číslo, které je kódováno v jednom až čtyřech bytech. Velikost je určena pozicí první jedničky v binárním zápisu, tj. ID bude vypadat takto (kde místo x je binárně zakódované číslo ID): 1xxx xxxx 01xx xxxx xxxx xxxx 001x xxxx xxxx xxxx xxxx xxxx 0001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx Popis velikostiPopis velikosti je číslo, určující počet bytů dat, které daný element obsahuje. jeho hodnota je v rozmezí 1 až 256, což znamená, že data elementu mohou mít velikost od 1 bytu do zhruba 72000 terabytů. Popis velikosti je kódován obdobně jako ID: 1xxx xxxx 01xx xxxx xxxx xxxx ... 0000 0001 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx DataData jsou posloupnost bytů, o velikosti určené popisem velikosti, která není nijak interpretována formátem EBML, tj. formát již závisí pouze na tvůrci konkrétního souboru. Externí odkazy |
Portal di Ensiklopedia Dunia