INI nastavitve (.ini)
De StandardKonfiguracijska datoteka za inicializacijo sistema Windows (INI) je klasični berljivi format konfiguracijskih datotek, ki ga je populariziral Microsoft Windows in ki nastavitve aplikacij ureja v poimenovanih [razdelkih], ki vsebujejo pare ključ=vrednost.
Pretvori INI v JSON
Brezplačen pretvornik iz INI v JSON v brskalniku. Pretvorite datoteke takoj v svoji napravi.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke INI s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke INI s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
5B ... 5DREPREZENTACIJA ASCII: [...]
Standardizacija: De facto industry configuration standard
Tehnične specifikacije
| Arhitektura vsebnika | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Stiskanje | Uncompressed text file |
| Vrstni red bajtov | UTF-8 or ANSI text stream |
| Barvni prostori | N/A (Configuration File) |
| Kanali in struktura | Key-value configuration properties categorized by section namespaces |
| Največje dimenzije | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Prosojnost | None |
| Pretočno in progresivno predvajanje | Sequential line-by-line streaming parser |
Tehnična primerjalna matrika: INI proti konkurenci
| Tehnični atribut | INI (Trenutno) | JSON | YAML | TOML |
|---|---|---|---|---|
| Zapletenost sintakse | Najpreprostejša možna (razdelek + ključ=vrednost) | Strogi oklepaji in narekovaji | Presledki, občutljivi na zatajevanje | Sodobne tipizirane tabele |
| Podpora za komentarje | Izvorno (komentarji ; in #) | Specifikacija ne podpira komentarjev | Izvorno (komentarji #) | Izvorno (komentarji #) |
| Ugnezdeni strukturi | Samo razdelki z eno ravnjo | Neskončno ugnezdeni objekti/tabele | Neskončno ugnezdena drevesa | Strukturirane tabele polj |
| Tipizacija podatkov | Implicitni nizi (aplikacija razčlenjuje tipe) | Eksplicitna števila, logične vrednosti, tabele | Eksplicitni tipi in sidra | Eksplicitni datumi, števila, tabele |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Aplikacija prezre nastavitve ali se ne zažene.
Glavni vzrok: Manjkajoči oklepaj glave razdelka (npr. '[Settings' namesto '[Settings]') ali neprilagojen znak enačaj v vrednosti.
Sanacija: Preverite in popravite sintakso INI z orodjem File2File Config Formatter.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Razčlenjevalniki INI se morajo zaščititi pred napadi z injiciranjem razdelkov in onesnaževanjem prototipov pri pretvarjanju v objekte.
Znani vektorji napada
- Injekcija INI, kjer vstavljanje nove vrstice v uporabniškem vnosu ustvari nepooblaščene konfiguracijske razdelke.
- Onesnaževanje prototipov v razčlenjevalnikih JavaScript INI, ki dodeljujejo vrednosti parametru '__proto__'.
- Zavrnitev storitve zaradi globoko rekurzivnega širjenja imen razdelkov.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Izjemno čista, intuitivna sintaksa: nestrokovni uporabniki lahko zlahka berejo in spreminjajo nastavitve.
- Izvorna programska vmesnika (API) za razčlenjevanje v skoraj vsakem programskem jeziku (Python configparser, PHP parse_ini_file, C#).
- Imenski prostori razdelkov preprečujejo trke nastavitev med različnimi funkcijami aplikacije.
Tehnične omejitve in slabosti
- Brez uradnega mednarodnega standarda: znaki za komentarje (; proti #) in pravila za ubežne znake se med razčlenjevalniki razlikujejo.
- Ploska hierarhija: ne podpira globoko gnezdenih tabel ali kompleksnih strukturiranih objektov brez ločil po meri.
- Vse vrednosti se berejo kot nizi, kar od aplikacij zahteva ročno razčlenjevanje celih števil, logičnih vrednosti in decimalnih števil.
Zanimive tehnične malenkosti
- V sistemu Windows 3.1 je bila vsaka posamezna nastavitev v celotnem operacijskem sistemu shranjena v samo dveh datotekah: WIN.INI in SYSTEM.INI.
- Git uporablja format INI za svojo glavno konfiguracijsko datoteko repozitorija, ki se nahaja na poti '.git/config'.
- Datoteke bližnjic namizja v sistemu Linux (datoteke XDG Desktop Entry '.desktop') so strukturirane s standardno sintakso INI.
Pogosta tehnična vprašanja
Za kaj se uporablja datoteka INI?
Datoteke INI uporabljajo namizna programska oprema, igre in razvijalska orodja (kot sta konfiguracija Git in PHP.ini) za shranjevanje uporabniških nastavitev in konfiguracijskih parametrov v berljivem formatu.
Kako lahko urejam datoteko INI?
Datoteke INI lahko odprete in urejate s katerim koli osnovnim urejevalnikom besedil, kot so Beležka (Notepad), TextEdit, VS Code, ali neposredno na spletu z uporabo File2File.app.
Ali lahko pretvorim INI v JSON ali YAML?
Da. File2File.app lahko datoteke INI takoj v brskalniku pretvori v čiste formate JSON, YAML ali TOML.