INI nastavitve (.ini)

De Standard

Konfiguracijska 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:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

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 ... 5D

REPREZENTACIJA ASCII: [...]

Standardizacija: De facto industry configuration standard

Tehnične specifikacije

Arhitektura vsebnikaPlaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #)
StiskanjeUncompressed text file
Vrstni red bajtovUTF-8 or ANSI text stream
Barvni prostoriN/A (Configuration File)
Kanali in strukturaKey-value configuration properties categorized by section namespaces
Največje dimenzijeHistorical 64 KB limit in 16-bit Windows; unlimited in modern implementations
ProsojnostNone
Pretočno in progresivno predvajanjeSequential line-by-line streaming parser

Tehnična primerjalna matrika: INI proti konkurenci

Tehnični atributINI (Trenutno)JSONYAMLTOML
Zapletenost sintakseNajpreprostejša možna (razdelek + ključ=vrednost)Strogi oklepaji in narekovajiPresledki, občutljivi na zatajevanjeSodobne tipizirane tabele
Podpora za komentarjeIzvorno (komentarji ; in #)Specifikacija ne podpira komentarjevIzvorno (komentarji #)Izvorno (komentarji #)
Ugnezdeni strukturiSamo razdelki z eno ravnjoNeskončno ugnezdeni objekti/tabeleNeskončno ugnezdena drevesaStrukturirane tabele polj
Tipizacija podatkovImplicitni nizi (aplikacija razčlenjuje tipe)Eksplicitna števila, logične vrednosti, tabeleEksplicitni tipi in sidraEksplicitni 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

2000Standardna knjižnica Pythona vključi modul ConfigParser, s čimer se INI uveljavi kot univerzalni format programskih nastavitev.
1995Windows 95 uvede sistemsko registracijo Windows Registry kot zamenjavo za monolitne sistemske datoteke INI (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 uvede datoteko WIN.INI kot osrednjo konfiguracijsko podatkovno bazo operacijskega sistema.

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.