Nastavení INI (.ini)
De StandardníWindows Initialization Configuration (INI) je klasický konfigurační souborový formát s čitelným obsahem pro lidské čtenáře, který zpopularizoval systém Microsoft Windows a organizuje nastavení aplikací do pojmenovaných sekcí [sections] obsahujících páry klíč=hodnota.
Převést INI do JSON
Bezplatný konvertor z INI do JSON v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Zkontrolovat a metadata
Operační systémy a analyzátory souborů identifikují soubory INI kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory INI kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (OFFSET 0):
5B ... 5DASCII REPREZENTACE: [...]
Standardizace: De facto industry configuration standard
Technické specifikace
| Architektura kontejneru | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Komprese | Uncompressed text file |
| Endiantita bajtů | UTF-8 or ANSI text stream |
| Barevné prostory | N/A (Configuration File) |
| Kanály a struktura | Key-value configuration properties categorized by section namespaces |
| Max. rozměry | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Průhlednost | None |
| Streamování a progresivní načítání | Sequential line-by-line streaming parser |
Technická srovnávací matice: INI vs konkurence
| Technický atribut | INI (Aktuální) | JSON | YAML | TOML |
|---|---|---|---|---|
| Složitost syntaxe | Nejjednodušší možná (sekce + klíč=hodnota) | Přísné závorky a uvozovky | Bílé znaky citlivé na odsazení | Moderní typové tabulky |
| Podpora komentářů | Nativní (komentáře ; a #) | Komentáře nejsou ve specifikaci podporovány | Nativní (komentáře #) | Nativní (komentáře #) |
| Vnořené struktury | Pouze 1úrovňové sekce | Nekonečně vnorené objekty/pole | Nekonečně vnorené stromy | Strukturovaná pole tabulek |
| Typování dat | Implicitní řetězce (aplikace parsuje typy) | Explicitní čísla, booleovské hodnoty, pole | Explicitní typy a kotvy | Explicitní data, čísla, pole |
Běžné režimy poškození a příručka pro obnovení v hex
Aplikace ignoruje nastavení nebo se nespustí.
Hlavní příčina: Chybějící závorka hlavičky sekce (např. „[Settings" namísto „[Settings]") nebo neošetřené rovnítko v hodnotě.
Obnovení: Ověřte a opravte syntaxi INI pomocí nástroje File2File Config Formatter.
Bezpečnostní analýza a vektory útoků na parser
Parsery formátu INI se musí chránit proti útokům injekcí sekcí a znečištění prototypu (prototype pollution) při deserializaci do objektů.
Známé vektory útoků
- Injekce INI, kde vložení nového řádku do vstupu uživatele vytvoří neautorizované konfigurační sekce.
- Znečištění prototypu v parserech INI v jazyce JavaScript při přiřazování do proměnné „__proto__".
- Odpojení služby (Denial of Service) prostřednictvím hluboce rekurzivního rozbalování názvů sekcí.
Doporučené bezpečnostní postupy:
Historický vývoj a milníky
Klíčové výhody a přednosti
- Výjimečně čistá a intuitivní syntaxe: netechničtí uživatelé mohou snadno číst a upravovat nastavení.
- Nativní parsovací rozhraní API téměř v každém programovacím jazyce (Python configparser, PHP parse_ini_file, C#).
- Jmenné prostory sekcí zabraňují kolizím nastavení napříč různými funkcemi aplikace.
Technická omezení a nevýhody
- Žádný formální mezinárodní standard: znaky komentářů (; vs #) a pravidla escapování se u jednotlivých parserů liší.
- Plochá hierarchie: nepodporuje hluboce vnorené pole nebo složité strukturované objekty bez vlastních oddělovačů.
- Všechny hodnoty jsou načteny jako řetězce, což vyžaduje, aby aplikace ručně parsovaly celá čísla, booleovské hodnoty a desetinná čísla.
Zajímavé technické drobnosti
- V systému Windows 3.1 bylo každé jednotlivé nastavení v celém operačním systému uloženo pouze ve dvou souborech: WIN.INI a SYSTEM.INI.
- Git používá formát INI pro svůj hlavní konfigurační soubor úložiště umístěný na cestě „.git/config".
- Soubory zástupců plochy v systému Linux (soubory „.desktop" XDG Desktop Entry) jsou strukturovány pomocí standardní syntaxe INI.
Často kladené technické otázky
K čemu se používá soubor INI?
Soubory INI používá desktopový software, hry a vývojářské nástroje (např. konfigurace Git a PHP.ini) k ukládání uživatelských předvoleb a konfiguračních nastavení ve snadno čitelném formátu.
Jak mohu upravit soubor INI?
Soubory INI můžete otevřít a upravit v libovolném základním textovém editoru, jako je Poznámkový blok, TextEdit, VS Code, nebo přímo online pomocí File2File.app.
Mohu převést INI na JSON nebo YAML?
Ano. File2File.app dokáže okamžitě v prohlížeči převést soubory INI do čistých formátů JSON, YAML nebo TOML.