INI-inställningar (.ini)

De Standard

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

Välj eller släpp filer här

Privat - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddades upp till externa servrar. All bearbetning skedde lokalt i webbläsarens sandlåda.

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

ASCII-REPRESENTATION: [...]

Standardisering: De facto-standard för branschens konfigurationsfiler

Tekniska specifikationer

ContainerarkitekturKonfigurationstextfil med [section]-rubriker som innehåller nyckel=värde-par och kommentarer (; eller #)
KomprimeringOkomprimerad textfil
ByteordningUTF-8- eller ANSI-textström
FärgrymderEj tillämpligt (konfigurationsfil)
Kanaler och strukturKonfigurationsegenskaper med nyckel och värde, grupperade efter avsnittsnamn
Maximala dimensionerHistorisk gräns på 64 KB i 16-bitars Windows; obegränsat i moderna implementationer
TransparensIngen
Strömning och progressiv visningSekventiell parser som läser och bearbetar en rad i taget

Teknisk jämförelsematris: INI jämfört med konkurrenter

Tekniskt attributINI (Aktuell)JSONYAMLTOML
SyntaxkomplexitetEnklast möjliga (sektion + nyckel=värde)Obligatoriska klamrar och citatteckenIndenteringskänslig blankstegsanvändningModerna typade tabeller
Stöd för kommentarerInbyggt stöd för kommentarer med ; och #Inga kommentarer stöds i specifikationenInbyggt stöd för #-kommentarerInbyggt stöd för #-kommentarer
Nästlade strukturerEndast en nivå med sektionerOändligt nästlade objekt/arrayerOändligt nästlade trädStrukturerade tabellarrayer
DatatypningImplicita strängar (programmet tolkar typer)Explicita tal, booleska värden, arrayerExplicita typer och ankareExplicita 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

2000Pythons standardbibliotek innehåller configparser för arbete med INI-filer.
1995Windows 95 introducerar Windows-registret för att ersätta monolitiska system-INI-filer (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 introducerar WIN.INI som operativsystemets kärnkonfigurationsdatabas.

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.