Soubor je ve své podstatě soubor jedniček a nul. Tyto jedničky nejsou zapisovány jen "tupě" přímo na disk, ale podléhají několika algoritmům. V prvé řadě je třeba zajistit, aby nebyly zapsány udáje mnohokrát po sobě. Například tři nuly vedle sebe (to jsem si vymyslel). Protože v takovém případě by hlavička při čtení nedokázala zjistit kolik nul tam je a kolik jich tam není. Je tedy nezbytné zajistit pomocí algoritmu takové kódování, aby k tomuto stavu nemohlo dojít.
Dalším algoritmem je komprese. Pokud mám kód kde je 1000x 1 a 2500x 0 tak určitě by bylo dost nevýhodné to zapisovat přímo.