INI-seaded (.ini)

De Standard

Windowsi initsialiseerimise konfiguratsioon (INI) on klassikaline inimloetav konfiguratsioonifaili vorming, mille populariseeris Microsoft Windows ja mis organiseerib rakenduse soted nimetatud [jaotistesse], mis sisaldavad võti=väärtus paare.

Teisenda formaadist INI formaati JSON

Tasuta INI -> JSON konverter brauseris. Teisenda faile koheselt oma seadmes.

Kontrolli ja metaandmed

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad INI faile, kontrollides algset binaarset baidijada:

Vali või lohista failid siia

100% privaatne konversioon brauseris - failid ei lahku kunagi sinu seadmest

või kleebi Ctrl+V
Null-võrguülekande privaatsusgarantii: 0 baiti laaditakse üles välistesse serveritesse. Kogu töötlemine toimub lokaalselt sinu brauseri liivakastis.

Baidi-taseme päise allkiri (maagilised baidid)

Operatsioonisüsteemid ja failianalüsaatorid tuvastavad INI faile, kontrollides algset binaarset baidijada:

HEX-ALLKIRI (NIHE 0):

5B ... 5D

ASCII-ESITUS: [...]

Standardiseerimine: De facto industry configuration standard

Tehnilised andmed

Konteineri arhitektuurPlaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #)
TihendamineUncompressed text file
Baitide järjekord (Endianness)UTF-8 or ANSI text stream
VärviruumidN/A (Configuration File)
Kanalid ja struktuurKey-value configuration properties categorized by section namespaces
Max mõõtmedHistorical 64 KB limit in 16-bit Windows; unlimited in modern implementations
LäbipaistvusNone
Voogedastus ja progressiivsusSequential line-by-line streaming parser

Tehniline võrdlusmaatriks: INI vs konkurendid

Tehniline atribuutINI (Praegune)JSONYAMLTOML
Süntaksi keerukusLihtsaim võimalik (jaotis + võti=väärtus)Stanged sulud ja jutumärgidTaandustundlik tühimikKaasaegsed tüübistatud tabelid
Kommentaaride tugiNatiivne (; ja # kommentaarid)Spetsifikatsioonis pole kommentaare toetatudNatiivne (# kommentaarid)Natiivne (# kommentaarid)
Pesastatud struktuuridAinult 1-tasemelised jaotisedLõputult pesastatud objektid/massiividLõputult pesastatud puudStruktureeritud tabelimassiivid
Andmete tüpiseerimineKaudsed stringid (rakendus parsib tüübid)Selgesõnalised numbrid, tõeväärtused, massiividSelgesõnalised tüübid ja ankurdusedSelgesõnalised kuupäevad, numbrid, massiivid

Levinud riknemisvead ja heksataaste juhend

Rakendus eirab sätteid või ei käivitu.

Juurpõhjus: Puuduv jaotise päise sulg (nt '[Settings' asemel '[Settings]') või põgenemata võrdusmärk väärtuses.

Taastamine: Valideerige ja parandage INI süntaks File2File Config Formatteri abil.

Turvaanalüüs ja parsimisründevektorid

INI parserid peavad kaitsma jaotiste sisse süstimise rünnakute ja prototüüpide saastamise eest objektideks deserialiseerimisel.

Teadaolevad ründavektorid

  • INI sisse süstimine, kus reavahetuse lisamine kasutaja sisendisse loob volitamata konfiguratsioonijaotisi.
  • Prototüübi saastamine JavaScripti INI parserites, mis omistavad väärtust '__proto__'.
  • Teenusetõkestusrünne sügavalt rekursiivse jaotisenime laiendamise kaudu.

Kaitsealased parimad tavad:

Ajalooline taust ja verstapostid

2000Pythoni standardteek integreerib mooduli ConfigParser, kinnistades INI-d kui universaalset tarkvara konfiguratsioonivormingut.
1995Windows 95 toob turule Windowsi registri, et asendada monoliitsed süsteemi INI-failid (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 toob turule faili WIN.INI operatsioonisüsteemi põhilise konfiguratsiooniandmebaasina.

Peamised eelised

  • Erakordselt puhas ja intuitiivne süntaks: tehniliste eelteadmisteta kasutajad saavad sätteid hõlpsasti lugeda ja muuta.
  • Natiivsed parsimise API-d peaaegu igas programmeerimiskeeles (Python configparser, PHP parse_ini_file, C#).
  • Jaotiste nimeruumid hoiavad ära sätete kokkupõrked erinevate rakenduse funktsioonide vahel.

Tehnilised piirangud ja puudused

  • Formaalne rahvusvaheline standard puudub: kommentaarimärgid (; vs #) ja põgenemismärgi reeglid varieeruvad parserite lõikes.
  • Lame hierarhia: ei toeta sügavalt pesastatud massiive ega keerulisi struktureeritud objekte ilma kohandatud eraldajateta.
  • Kõiki väärtuseid loetakse stringidena, mis nõuab rakendustelt täisarvude, tõeväärtuste ja ujukomaarvude käsitsi parsimist.

Huvitavaid tehnilisi fakte

  • Windows 3.1-s salvestati iga viimane kui säte terves operatsioonisüsteemis vaid kahte faili: WIN.INI ja SYSTEM.INI.
  • Git kasutab INI-vormingut oma peamise hoidla konfiguratsioonifaili jaoks, mis asub asukohas '.git/config'.
  • Linuxi töölaua otsetee failid (XDG Desktop Entry '.desktop' failid) on struktureeritud standardse INI süntaksi abil.

Korduma kippuvad tehnilised küsimused

Milleks INI-faili kasutatakse?

INI-faile kasutavad töölauatarkvara, mängud ja arendajatööriistad (nagu Git config ja PHP.ini), et salvestada kasutaja eelistusi ja seadistusi hõlpsasti loetavas vormingus.

Kuidas ma saan INI-faili muuta?

Saate INI-faile avada ja redigeerida mis tahes lihtsa tekstiredaktoriga, nagu Notepad, TextEdit, VS Code, või otse veebis File2File.app abil.

Kas ma saan konverteerida INI JSON-iks või YAML-iks?

Jah. File2File.app suudab INI-failid koheselt teie brauseris teisendada puhtasse JSON-, YAML- või TOML-vormingusse.