INI-asetukset (.ini)
De StandardiWindows 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 selaimen sisäinen INI - JSON-muunnin. Muunna tiedostoja välittömästi laitteellasi.
Tarkastele ja metatiedot
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat INI-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Tavutason otsikon allekirjoitus (Magic Bytes)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat INI-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEX-ALLEKIRJOITUS (OFFSET 0):
5B ... 5DASCII-ESITYSTAPA: [...]
Standardointi: De facto industry configuration standard
Tekniset tiedot
| Säiliöarkkitehtuuri | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Pakkaus | Uncompressed text file |
| Tavujärjestys (Endianness) | UTF-8 or ANSI text stream |
| Väriavaruudet | N/A (Configuration File) |
| Kanavat ja rakenne | Key-value configuration properties categorized by section namespaces |
| Suurimmat mitat | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Läpinäkyvyys | None |
| Suoratoisto ja progressiivinen lataus | Sequential line-by-line streaming parser |
Tekninen vertailumatriisi: INI vs. kilpailijat
| Tekninen attribuutti | INI (Nykyinen) | JSON | YAML | TOML |
|---|---|---|---|---|
| Syntaksin monimutkaisuus | Yksinkertaisin mahdollinen (osio + avain=arvo) | Tiukat hakasulkeet ja lainausmerkit | Sisennusherkkä tyhjä tila | Modernit tyypitetyt taulukot |
| Kommenttituki | Sisäänrakennettu (; ja # -kommentit) | Ei kommenttitukea spesifikaatiossa | Sisäänrakennettu (# -kommentit) | Sisäänrakennettu (# -kommentit) |
| Sisäkkäiset rakenteet | Vain 1-tason osiot | Äärettömästi sisäkkäisiä objekteja/taulukoita | Äärettömästi sisäkkäisiä puita | Rakenteelliset taulukkomatriisit |
| Datatypitys | Epäsuorat merkkijonot (sovellus jäsennetään tyypit) | Eksplisiittiset numerot, totuusarvot, taulukot | Eksplisiittiset tyypit ja ankkurit | Eksplisiittiset päivämäärät, numerot, taulukot |
Yleiset korruptiotilat ja heksatietojehdotusopas
Sovellus ohittaa asetukset tai ei käynnisty.
Perussyy: Puuttuva osion otsikon hakasulje (esim. '[Settings' eikä '[Settings]') tai välttämätön yhtäsuurmerkin puuttuminen arvosta.
Korjaus: Validoi ja korjaa INI-syntaksi File2File Config Formatter -työkalulla.
Turvallisuusanalyysi ja jäsenninhyökkäysvektorit
INI-jäsentimien on suojauduttava osioiden injektiohyökkäyksiltä ja prototyypin saastuttamiselta (prototype pollution) purettaessa 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 kohdistavat __proto__-kenttään.
- Palvelunestohyökkäys syvästi rekursiivisen osion nimen laajennuksen kautta.
Parhaat puolustuskäytännöt:
Historia ja virstanpylväät
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 esiintymien välttämisää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.