INI-indstillinger (.ini)

De Standard

Windows Initialization Configuration (INI) er det klassiske menneskevenlige konfigurationsfilformat populariseret af Microsoft Windows, som organiserer applikationsindstillinger i navngivne [sektioner], der indeholder nøgle=værdi-par.

Konverter INI til JSON

Gratis INI til JSON-konverter i browseren. Konverter filer med det samme på din enhed.

Undersøgelse og metadata

Operativsystemer og filanalysatorer identificerer INI-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer INI-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

5B ... 5D

ASCII-REPRÆSENTATION: [...]

Standardisering: De facto-standard for konfigurationsfiler i branchen

Tekniske specifikationer

ContainerarkitekturRen tekstbaseret konfigurationsfil struktureret med [section]-headers, nøgle = værdi-par og kommentarer (; eller #)
KomprimeringUkomprimeret tekstfil
Byte-rækkefølgeUTF-8- eller ANSI-tekststrøm
FarverumIkke relevant (konfigurationsfil)
Kanaler og strukturNøgle-værdi-konfigurationsegenskaber grupperet efter sektionsnavneområder
Maks. dimensionerHistorisk grænse på 64 KB i 16-bit Windows; ubegrænset i moderne implementeringer
GennemsigtighedIngen
Streaming og progressivSekventiel streamingfortolker, der læser linje for linje

Teknisk sammenligningsmatrix: INI sammenlignet med konkurrenterne

Teknisk attributINI (Aktuel)JSONYAMLTOML
Syntaksens kompleksitetSå enkel som muligt (sektion + nøgle=værdi)Strenge klammer og anførselstegnMellemrum, hvor indrykningen har betydningModerne typede tabeller
KommentarunderstøttelseIndbygget (; og # kommentarer)Ingen kommentarer understøttet i specifikationenIndbygget (# kommentarer)Indbygget (# kommentarer)
Indlejrede strukturerKun sektioner på ét niveauUendelige indlejrede objekter/arraysUendelige indlejrede træerStrukturerede tabel-arrays
DatatypningImplicitte strenge (appen fortolker typer)Eksplicitte tal, booleske værdier, arraysEksplicitte typer og ankreEksplicitte datoer, tal, arrays

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Applikationen ignorerer indstillinger eller undlader at starte.

Grundlæggende årsag: Manglende sektionshovedklamme (f.eks. '[Settings' i stedet for '[Settings]') eller ikke-escapet lighedstegn i værdien.

Gendannelse: Validér og ret INI-syntaks ved hjælp af File2File.app Config Formatter.

Sikkerhedsanalyse og parser-angrebsvektorer

INI-parsere skal beskytte mod sektionsindsprøjtningsangreb og prototypeforurening ved deserialisering til objekter.

Kendte angrebsvektorer

  • INI-indsprøjtning, hvor linjeskiftindsættelse i brugerinput skaber uautoriserede konfigurationssektioner.
  • Prototypeforurening i JavaScript INI-parsere ved tildeling til '__proto__'.
  • Nægtelse af tjeneste (DoS) gennem dybt rekursiv sektionsnavneudvidelse.

Defensive bedste praksisser: Rens brugerinput for at forbyde linjeskiftstegn og beskytte mod prototypeforurening.

Historisk oprindelse og milepæle

2000Pythons standardbibliotek indeholder configparser til arbejde med INI-filer.
1995Windows 95 introducerer Windows-registreringsdatabasen som erstatning for monolitiske system-INI-filer (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 introducerer WIN.INI som kernen i operativsystemets konfigurationsdatabase.

Vigtige fordele og styrker

  • Ekstremt ren, intuitiv syntaks: ikke-tekniske brugere kan nemt læse og ændre indstillinger.
  • Indbyggede parser-API'er i næsten alle programmeringssprog (Python configparser, PHP parse_ini_file, C#).
  • Sektionsnavnerum forhindrer indstillingskollisioner på tværs af forskellige applikationsfunktioner.

Tekniske begrænsninger og ulemper

  • Ingen formel international standard: kommentarstegn (; vs #) og escape-regler varierer på tværs af parsere.
  • Fladt hierarki: understøtter ikke dybt indlejrede arrays eller komplekse strukturerede objekter uden tilpassede afgrænsere.
  • Alle værdier læses som strenge, hvilket kræver, at applikationer manuelt parser heltal, booleske værdier og flydende tal.

Interessante tekniske fakta

  • I Windows 3.1 blev hver eneste indstilling i hele operativsystemet gemt i blot to filer: WIN.INI og SYSTEM.INI.
  • Git bruger INI-formatet til sin primære lagringskonfigurationsfil placeret i '.git/config'.
  • Skrivebordsgenvejsfiler på Linux (XDG Desktop Entry '.desktop'-filer) er struktureret ved hjælp af standard INI-syntaks.

Ofte stillede tekniske spørgsmål

Hvad bruges en INI-fil til?

INI-filer bruges af skrivebordsprogrammer, spil og udviklerværktøjer (såsom Git-konfiguration og PHP.ini) til at gemme brugerpræferencer og konfigurationsindstillinger i et letlæseligt format.

Hvordan kan jeg redigere en INI-fil?

Du kan åbne og redigere INI-filer med en hvilken som helst simpel teksteditor som Notepad, TextEdit, VS Code eller direkte online ved hjælp af File2File.app.

Kan jeg konvertere INI til JSON eller YAML?

Ja. File2File.app kan øjeblikkeligt konvertere INI-filer til rene JSON-, YAML- eller TOML-formater direkte i din browser.