INI-instellingen (.ini)

De Standaard

Windows Initialization Configuration (INI) is het klassieke, leesbare configuratiebestandsformaat dat populair is geworden door Microsoft Windows en toepassingsinstellingen organiseert in benoemde [secties] die sleutel = waarde-paren bevatten.

INI naar JSON converteren

Gratis INI-naar-JSON-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen INI-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen INI-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

5B ... 5D

ASCII-WEERGAVE: [...]

Standaardisatie: De facto industriestandaard voor configuratie

Technische specificaties

ContainerarchitectuurConfiguratiebestand in platte tekst, gestructureerd met [section]-koppen met sleutel-waardeparen en commentaar (; of #)
CompressieNiet-gecomprimeerd tekstbestand
Bytevolgorde (endianness)UTF-8- of ANSI-tekststroom
KleurruimtenN.v.t. (configuratiebestand)
Kanalen en structuurConfiguratie-eigenschappen in de vorm van sleutel en waarde, gecategoriseerd op sectienaamruimte
Maximale afmetingenHistorische limiet van 64 KB in 16-bits Windows; onbeperkt in moderne implementaties
TransparantieGeen
Streaming en progressiefSequentiële regel-voor-regel-streamingparser

Technische vergelijkingsmatrix: INI versus concurrenten

Technisch kenmerkINI (Huidig)JSONYAMLTOML
SyntaxiscomplexiteitZo eenvoudig mogelijk (sectie + sleutel=waarde)Strikte haken en aanhalingstekensInspringingsgevoelige witruimteModerne getypte tabellen
Ondersteuning voor commentaarIngebouwd (;- en #-commentaar)Geen commentaar ondersteund in specificatieIngebouwd (#-commentaar)Ingebouwd (#-commentaar)
Geneste structurenAlleen secties van 1 niveauOneindig geneste objecten/arraysOneindig geneste bomenGestructureerde tabelarrays
GegevenstypenImpliciete tekenreeksen (app parseert typen)Expliciete getallen, booleans, arraysExpliciete typen en ankersExpliciete datums, getallen, arrays

Veelvoorkomende beschadigingen en gids voor hex-herstel

Toepassing negeert instellingen of start niet op.

Oorzaak: Ontbrekende haak in sectiekop (bijv. '[Settings' in plaats van '[Settings]') of niet-geëscapet gelijkteken in een waarde.

Herstel: Valideer en herstel de INI-syntaxis met de Config Formatter van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

INI-parsers moeten zich beschermen tegen sectie-injectieaanvallen en prototypevervuiling bij het deserialiseren naar objecten.

Bekende aanvalsvectoren

  • INI-injectie waarbij het invoegen van regeleinden in gebruikersinvoer ongeautoriseerde configuratiesecties aanmaakt.
  • Prototypevervuiling in JavaScript-INI-parsers die waarden toewijzen aan '__proto__'.
  • Denial of service door diep recursieve expansie van sectienamen.

Aanbevolen beveiligingspraktijken: Verwijder nieuwe-regeltekens uit gebruikersinvoer en bescherm tegen prototypevervuiling.

Historische oorsprong en mijlpalen

2000De standaardbibliotheek van Python bevat configparser om met INI-bestanden te werken.
1995Windows 95 introduceert het Windows-register om monolitische systeem-INI-bestanden (SYSTEM.INI, WIN.INI) te vervangen.
1985Microsoft Windows 1.0 introduceert WIN.INI als de centrale configuratiedatabase van het besturingssysteem.

Belangrijkste voordelen

  • Uitzonderlijk overzichtelijke, intuïtieve syntaxis: niet-technische gebruikers kunnen instellingen eenvoudig lezen en wijzigen.
  • Ingebouwde parseer-API's in bijna elke programmeertaal (Python configparser, PHP parse_ini_file, C#).
  • Sectienaamruimten voorkomen conflicten tussen instellingen van verschillende toepassingsfuncties.

Technische beperkingen

  • Geen formele internationale standaard: commentaartekens (; vs #) en escape-regels verschillen per parser.
  • Vlakke hiërarchie: biedt geen ondersteuning voor diep geneste arrays of complexe gestructureerde objecten zonder aangepaste scheidingstekens.
  • Alle waarden worden gelezen als tekenreeksen, waardoor toepassingen gehele getallen, booleaanse waarden en drijvende-kommagetallen handmatig moeten interpreteren.

Interessante technische weetjes

  • In Windows 3.1 werd elke individuele instelling in het hele besturingssysteem opgeslagen in slechts twee bestanden: WIN.INI en SYSTEM.INI.
  • Git gebruikt het INI-formaat voor het primaire configuratiebestand van de repository op '.git/config'.
  • Snelkoppelingsbestanden op het Linux-bureaublad (XDG Desktop Entry-bestanden met de extensie '.desktop') zijn opgebouwd met de standaard-INI-syntaxis.

Veelgestelde technische vragen

Waar wordt een INI-bestand voor gebruikt?

INI-bestanden worden gebruikt door desktopsoftware, games en ontwikkelaarstools (zoals Git-configuratie en PHP.ini) om gebruikersvoorkeuren en instellingen op te slaan in een eenvoudig leesbaar formaat.

Hoe kan ik een INI-bestand bewerken?

U kunt INI-bestanden openen en bewerken met elke eenvoudige teksteditor zoals Kladblok, TextEdit, VS Code of rechtstreeks online via File2File.app.

Kan ik INI converteren naar JSON of YAML?

Ja. File2File.app kan INI-bestanden direct in uw browser converteren naar overzichtelijke JSON-, YAML- of TOML-formaten.