INI-inställningar (.ini)
De StandardWindows Initialization Configuration (INI) är det klassiska läsbara konfigurationsfilformatet som populariserades av Microsoft Windows, vilket organiserar applikationsinställningar i namngivna [sektioner] som innehåller nyckel=värde-par.
Konvertera INI till JSON
Gratis konverterare från INI till JSON i webbläsaren. Konvertera filer direkt på din enhet.
Granska och metadata
Operativsystem och filanalysverktyg identifierar INI-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar INI-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
5B ... 5DASCII-REPRESENTATION: [...]
Standardisering: De facto-standard för branschens konfigurationsfiler
Tekniska specifikationer
| Containerarkitektur | Konfigurationstextfil med [section]-rubriker som innehåller nyckel=värde-par och kommentarer (; eller #) |
| Komprimering | Okomprimerad textfil |
| Byteordning | UTF-8- eller ANSI-textström |
| Färgrymder | Ej tillämpligt (konfigurationsfil) |
| Kanaler och struktur | Konfigurationsegenskaper med nyckel och värde, grupperade efter avsnittsnamn |
| Maximala dimensioner | Historisk gräns på 64 KB i 16-bitars Windows; obegränsat i moderna implementationer |
| Transparens | Ingen |
| Strömning och progressiv visning | Sekventiell parser som läser och bearbetar en rad i taget |
Teknisk jämförelsematris: INI jämfört med konkurrenter
| Tekniskt attribut | INI (Aktuell) | JSON | YAML | TOML |
|---|---|---|---|---|
| Syntaxkomplexitet | Enklast möjliga (sektion + nyckel=värde) | Obligatoriska klamrar och citattecken | Indenteringskänslig blankstegsanvändning | Moderna typade tabeller |
| Stöd för kommentarer | Inbyggt stöd för kommentarer med ; och # | Inga kommentarer stöds i specifikationen | Inbyggt stöd för #-kommentarer | Inbyggt stöd för #-kommentarer |
| Nästlade strukturer | Endast en nivå med sektioner | Oändligt nästlade objekt/arrayer | Oändligt nästlade träd | Strukturerade tabellarrayer |
| Datatypning | Implicita strängar (programmet tolkar typer) | Explicita tal, booleska värden, arrayer | Explicita typer och ankare | Explicita datum, tal, arrayer |
Vanliga skadeorsaker och hex-återställningsguide
Applikationen ignorerar inställningar eller misslyckas med att starta.
Grundorsak: Saknad hakparentes i sektionsrubriken (t.ex. '[Settings' i stället för '[Settings]') eller ett likhetstecken i värdet som inte har escapats.
Återställning: Validera och åtgärda INI-syntax med File2File.app Config Formatter.
Säkerhetsanalys och attackvektorer för tolkar
INI-tolkar måste skydda mot sektionsinjekteringsattacker och prototype pollution när data omvandlas till objekt.
Kända attackvektorer
- INI-injektering där radbrytning i användarindata skapar otillåtna konfigurationssektioner.
- Prototype pollution i JavaScript-tolkar för INI-filer när de tilldelar värde till '__proto__'.
- Tjänsteavbrott (DoS) genom rekursiv expansion av sektionsnamn på stort djup.
Rekommenderade skyddsåtgärder: Sanera användarindata så att radbrytningar inte tillåts och skydda mot prototype pollution.
Historiskt ursprung och milstolpar
Viktiga fördelar
- Synnerligen ren och intuitiv syntax: icke-tekniska användare kan enkelt läsa och ändra inställningar.
- Inbyggda tolknings-API:er i nästan alla programmeringsspråk (Python configparser, PHP parse_ini_file, C#).
- Sektionsnamnrymder förhindrar inställningskollisioner mellan olika applikationsfunktioner.
Tekniska begränsningar
- Ingen formell internationell standard: kommentarstecken (; vs #) och escaperegler varierar mellan olika tolkar.
- Platt hierarki: stöder inte djupt nästlade arrayer eller komplexa datastrukturer utan anpassade avgränsare.
- Alla värden läses som strängar, vilket kräver att programmen manuellt tolkar heltal, booleska värden och flyttal.
Intressant teknisk kuriosa
- I Windows 3.1 lagrades varenda inställning i hela operativsystemet i endast två filer: WIN.INI och SYSTEM.INI.
- Git använder INI-format för sin huvudsakliga konfigurationsfil i repot, '.git/config'.
- Skrivbordsgenvägsfiler på Linux (XDG Desktop Entry '.desktop'-filer) är strukturerade med standard-INI-syntax.
Vanliga tekniska frågor
Vad används en INI-fil till?
INI-filer används av skrivbordsprogram, spel och utvecklarverktyg (som Git-konfig och PHP.ini) för att lagra användarpreferenser och konfigurationsinställningar i ett lättläst format.
Hur kan jag redigera en INI-fil?
Du kan öppna och redigera INI-filer i valfri enkel textredigerare, till exempel Anteckningar, TextEdit eller VS Code, eller göra det direkt på nätet med File2File.app.
Kan jag konvertera INI till JSON eller YAML?
Ja. File2File.app kan konvertera INI-filer till rena JSON-, YAML- eller TOML-format omedelbart i din webbläsare.