INI-asetukset (.ini)

Käytännössä Standardi

Windows Initialization Configuration (INI) on klassinen, ihmisen luettavissa oleva asetustiedostomuoto, jonka Microsoft Windows teki suosituksi. Se järjestää sovelluksen asetukset nimitettyihin [osioihin], jotka sisältävät avain=arvo-pareja.

Muunna tiedostot muodosta INI muotoon JSON

Ilmainen selaimessa toimiva muunnin, jolla voit muuntaa tiedostoja muodosta INI muotoon JSON. Muunna tiedostot hetkessä laitteellasi.

Tarkastele tiedostoa ja sen metatietoja

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat INI-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai pudota tiedostot tähän

Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa Ulkoisille palvelimille ei ole ladattu yhtään tavua. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Otsaketunniste tavutasolla (tunnistetavut)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat INI-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):

5B ... 5D

ASCII-ESITYSTAPA: [...]

Standardointi: Käytännössä muodostunut alan asetustiedostostandardi

Tekniset tiedot

SäiliöarkkitehtuuriPelkkä tekstitiedosto, jonka osionimikkeiden ([section]) alla on avain=arvo-pareja ja kommentteja (; tai #)
PakkausPakkaamaton tekstitiedosto
Tavujärjestys (Endianness)UTF-8- tai ANSI-tekstivirta
VäriavaruudetEi sovellu (asetustiedosto)
Kanavat ja rakenneOsioittain ryhmiteltyjä avain-arvo-muotoisia asetuksia
Suurimmat mitatVanhoissa 16-bittisissä Windows-versioissa 64 kt:n raja; nykyisissä toteutuksissa ei kokorajaa
LäpinäkyvyysEi läpinäkyvyyttä
Suoratoisto ja progressiivinen latausPeräkkäinen, rivi kerrallaan toimiva jäsennin

Tekninen vertailumatriisi: INI vs. kilpailijat

Tekninen attribuuttiINI (Nykyinen)JSONYAMLTOML
Syntaksin monimutkaisuusYksinkertaisin mahdollinen (osio + avain=arvo)Tiukat hakasulkeet ja lainausmerkitSisennusherkkä tyhjä tilaModernit tyypitetyt taulukot
KommenttitukiSisäänrakennettu (;- ja #-kommentit)Ei kommenttitukea spesifikaatiossaSisäänrakennettu (#-kommentit)Sisäänrakennettu (#-kommentit)
Sisäkkäiset rakenteetVain 1-tason osiotÄärettömästi sisäkkäisiä objekteja/taulukoitaÄärettömästi sisäkkäisiä puitaRakenteiset taulukot
DatatypitysImplisiittiset merkkijonot (sovellus päättelee tyypit)Eksplisiittiset numerot, totuusarvot, taulukotEksplisiittiset tyypit ja ankkuritEksplisiittiset päivämäärät, numerot, taulukot

Yleiset vioittumistavat ja heksadesimaalinen palautusopas

Sovellus ohittaa asetukset tai ei käynnisty.

Perussyy: Puuttuva hakasulje osion otsikosta (esim. '[Settings' eikä '[Settings]') tai arvoon merkitsemätön yhtäläisyysmerkki.

Korjaus: Tarkista ja korjaa INI-syntaksi File2File.app Config Formatter -työkalulla.

Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit

INI-jäsentimien on suojauduttava osioiden injektiohyökkäyksiltä ja prototyypin saastuttamiselta (prototype pollution), kun data muunnetaan objekteiksi.

Tunnetut hyökkäysvektorit

  • INI-injektio, jossa rivinvaihdon lisäys käyttäjän syötteeseen luo luvattomia asetustiedoston osioita.
  • Prototyypin saastuttaminen JavaScriptin INI-jäsentimissä, jotka asettavat arvoja __proto__-kenttään.
  • Palvelunestohyökkäys syvästi rekursiivisen osion nimen laajennuksen kautta.

Tietoturvan parhaat käytännöt: Puhdista käyttäjän syötteet, jotta voit kieltää rivinvaihtomerkit ja suojautua prototyypin saastumiselta.

Historia ja virstanpylväät

2000Pythonin vakiokirjasto sisältää configparser-moduulin INI-tiedostojen käsittelyyn.
1995Windows 95 esittelee Windowsin rekisterin korvaamaan monoliittiset järjestelmän INI-tiedostot (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 esittelee WIN.INI-tiedoston käyttöjärjestelmän ytimen asetustietokantana.

Tärkeimmät edut

  • Poikkeuksellisen selkeä ja intuitiivinen syntaksi: ei-tekniset käyttäjät voivat helposti lukea ja muokata asetuksia.
  • Sisäänrakennetut jäsennysrajapinnat lähes kaikissa ohjelmointikielissä (Python configparser, PHP parse_ini_file, C#).
  • Osionimiavaruudet estävät asetusten yhteentörmäykset eri sovellusominaisuuksien välillä.

Tekniset rajoitukset

  • Ei virallista kansainvälistä standardia: kommenttimerkit (; vs #) ja erikoismerkkien suojaussäännöt (escaping) vaihtelevat jäsentimien välillä.
  • Litteä hierarkia: ei tue syvästi sisäkkäisiä taulukoita tai monimutkaisia rakenteellisia objekteja ilman mukautettuja erottimia.
  • Kaikki arvot luetaan merkkijonoina, mikä edellyttää sovelluksilta kokonaislukujen, totuusarvojen ja liukulukujen manuaalista jäsennystä.

Mielenkiintoisia teknisiä faktoja

  • Windows 3.1:ssä jokainen koko käyttöjärjestelmän asetus oli tallennettu vain kahteen tiedostoon: WIN.INI ja SYSTEM.INI.
  • Git käyttää INI-muotoa ensisijaiseen arkiston asetustiedostoonsa, joka sijaitsee polussa '.git/config'.
  • Linuxin työpöydän pikakuvaketiedostot (XDG Desktop Entry '.desktop' -tiedostot) on jäsennetty käyttäen standardia INI-syntaksia.

Usein kysytyt tekniset kysymykset

Mihin INI-tiedostoa käytetään?

Pöytäkoneohjelmistot, pelit ja kehitystyökalut (kuten Gitin asetukset ja PHP.ini) käyttävät INI-tiedostoja käyttäjien asetusten ja määritysten tallentamiseen helposti luettavassa muodossa.

Miten voin muokata INI-tiedostoa?

Voit avata ja muokata INI-tiedostoja millä tahansa perusmuokkaimella, kuten Notepadilla, TextEditillä, VS Codella tai suoraan verkossa File2File.app-sovelluksella.

Voinko muuntaa INI-tiedoston JSON- tai YAML-muotoon?

Kyllä. File2File.app voi muuntaa INI-tiedostot selkeään JSON-, YAML- tai TOML-muotoon hetkessä selaimessasi.