INI-innstillinger (.ini)

Uformell Standard

Windows Initialization Configuration (INI) er det klassiske, lettleste konfigurasjonsfilformatet som ble popularisert av Microsoft Windows. Det organiserer programinnstillinger i navngitte [seksjoner] som inneholder nøkkel=verdi-par.

Konverter INI til JSON

Gratis INI til JSON-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.

Inspeksjon og metadata

Operativsystemer og filanalysatorer identifiserer INI-filer ved å undersøke den innledende binære bytesekvensen:

Velg eller slipp filer her

Privat - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte ble lastet opp til eksterne servere. All behandling foregikk lokalt i det isolerte nettlesermiljøet ditt.

Filsignatur på bytenivå (magiske byte)

Operativsystemer og filanalysatorer identifiserer INI-filer ved å undersøke den innledende binære bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

5B ... 5D

ASCII-REPRESENTASJON: [...]

Standardisering: Uformell bransjestandard for konfigurasjon

Tekniske spesifikasjoner

BeholderarkitekturRen tekstbasert konfigurasjonsfil med [seksjon]-overskrifter som inneholder nøkkel = verdi-par og kommentarer (; eller #)
KomprimeringUkomprimert tekstfil
BytterekkefølgeUTF-8- eller ANSI-tekststrøm
FargeromIkke relevant (konfigurasjonsfil)
Kanaler og strukturKonfigurasjonsegenskaper som nøkkel-verdi-par, gruppert i navnerom for hver seksjon
Maks. dimensjonerHistorisk grense på 64 KB i 16-bits Windows; ubegrenset i moderne implementasjoner
GjennomsiktighetIngen
Strømming og progressiv visningSekvensiell parser som leser strømmen linje for linje

Teknisk sammenligningsmatrise: INI sammenlignet med konkurrenter

Teknisk attributtINI (Gjeldende)JSONYAMLTOML
SyntakskompleksitetEnklest mulig (seksjon + nøkkel=verdi)Strenge klammeparenteser og anførselstegnInnrykkssensitivt mellomromModerne typede tabeller
KommentarstøtteInnebygd (; og # kommentarer)Ingen kommentarer støttes i spesifikasjonenInnebygd (# kommentarer)Innebygd (# kommentarer)
Nestede strukturerKun 1-nivåseksjonerUendelig nestede objekter/matriserUendelig nestede trærStrukturerte tabellmatriser
DatatypingImplisitte strenger (appen parser typer)Eksplisitte tall, boolske verdier, matriserEksplisitte typer og ankreEksplisitte datoer, tall, matriser

Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning

Applikasjonen ignorerer innstillinger eller klarer ikke å starte.

Underliggende årsak: Manglende klammeparentes for seksjonshode (f.eks. '[Settings' i stedet for '[Settings]') eller ubeskyttet likhetstegn i verdien.

Utbedring: Valider og fiks INI-syntaksen ved hjelp av File2File.app Config Formatter.

Sikkerhetsanalyse og angrepsvektorer mot parsere

INI-parsere må beskytte mot seksjonsinjeksjonsangrep og prototypeforurensning ved deserialisering til objekter.

Kjente angrepsvektorer

  • INI-injeksjon der innsetting av linjeskift i brukerinndata oppretter uautoriserte konfigurasjonsseksjoner.
  • Prototypforurensning i JavaScript INI-parser som tilordner til '__proto__'.
  • Tjenestenekt gjennom dypt rekursiv utvidelse av seksjonsnavn.

Anbefalte sikkerhetstiltak: Rens brukerdata for å hindre linjeskifttegn, og beskytt mot prototypforurensning.

Historisk opprinnelse og milepæler

2000Pythons standardbibliotek inneholder configparser for arbeid med INI-filer.
1995Windows 95 introduserer Windows-registeret for å erstatte monolittiske system-INI-filer (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 introduserer WIN.INI som operativsystemets kjernekonfigurasjonsdatabase.

Viktige fordeler

  • Eksepsjonelt ren, intuitiv syntaks: ikke-tekniske brukere kan enkelt lese og endre innstillinger.
  • Innebygde parsings-API-er i nesten alle programmeringsspråk (Python configparser, PHP parse_ini_file, C#).
  • Seksjonsnavnerom forhindrer innstillingskollisjoner på tvers av ulike applikasjonsfunksjoner.

Tekniske begrensninger og ulemper

  • Ingen formell internasjonal standard: kommentartegn (; vs #) og unnslippingsregler (escaping) varierer på tvers av parserne.
  • Flatt hierarki: støtter ikke dypt nestede matriser eller komplekse strukturerte objekter uten egendefinerte skilletegn.
  • Alle verdier leses som strenger, noe som krever at applikasjoner manuelt parser heltall, boolske verdier og flyttall.

Interessante tekniske fakta

  • I Windows 3.1 ble hver eneste innstilling i hele operativsystemet lagret i bare to filer: WIN.INI og SYSTEM.INI.
  • Git bruker INI-formatet for sin primære repositoriumkonfigurasjonsfil som ligger på '.git/config'.
  • Skrivebordsnarveifiler på Linux (XDG Desktop Entry '.desktop'-filer) er strukturert ved hjelp av standard INI-syntaks.

Ofte stilte tekniske spørsmål

Hva brukes en INI-fil til?

INI-filer brukes av skrivebordsprogramvare, spill og utviklerverktøy (som Git-konfigurasjon og PHP.ini) for å lagre brukerpreferanser og konfigurasjonsinnstillinger i et lettlest format.

Hvordan kan jeg redigere en INI-fil?

Du kan åpne og redigere INI-filer med en hvilken som helst enkel tekstredigerer som Notepad, TextEdit, VS Code eller direkte på nett ved hjelp av File2File.app.

Kan jeg konvertere INI til JSON eller YAML?

Ja. File2File.app kan konvertere INI-filer til rene JSON-, YAML- eller TOML-formater umiddelbart i nettleseren din.