EBML ( English Extensible Binary Meta Language - extensible binary metalanguage) este un format de fișier binar, în timpul creării căruia sarcina a fost de a crea un analog XML pentru datele binare. Creat inițial pentru containerul media Matroska , folosit în WebM .
O caracteristică foarte importantă a formatului este prezența „valorilor implicite” pentru multe elemente, acest lucru vă permite să creați un fișier fără o descriere detaliată a tuturor parametrilor (repetarea de la fișier la fișier).
Una dintre caracteristicile formatului este numerele de dimensiune variabilă. Codificarea numerelor este similară cu codificarea caracterelor UTF-8 , dimensiunea numărului este determinată de numărul de biți zero (mai precis, poziția primului bit diferit de zero). Numărul maxim este calculat ca 2-2 biți .
unu | 2 | 3 | patru | 5 | 6 | 7 | opt | biți | interval codificat |
---|---|---|---|---|---|---|---|---|---|
1×××××××× | 7 | [0;126] | |||||||
01×××××× | ××××××××× | paisprezece | [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] |