INI iestatījumi (.ini)

De Standarts

Windows Initialization Configuration (INI) ir klasiskais cilvēkam lasāmais konfigurācijas faila formāts, ko popularizējis Microsoft Windows un kas organizē lietojumprogrammu iestatījumus nosauktajās [sadaļās], kas satur key=value pārus.

Konvertēt INI uz JSON

Bezmaksas INI uz JSON konvertētājs pārlūkprogrammā. Konvertējiet failus uzreiz savā ierīcē.

Pārbaudīt un metadati

Operētājsistēmas un failu analizatori identificē INI failus, pārbaudot sākotnējo bināro baitu secību:

Atlasiet vai velciet failus šeit

100% privāta konvertēšana pārlūkprogrammā - faili nekad neatstāj jūsu ierīci

vai ielīmējiet Ctrl+V
Privātuma garantija bez datu pārraides tīklā: 0 baitu augšupielādēti ārējos serveros. Visa apstrāde notika lokāli jūsu pārlūkprogrammas smilškastē.

Baitu līmeņa galvenes paraksts (maģiskie baiti)

Operētājsistēmas un failu analizatori identificē INI failus, pārbaudot sākotnējo bināro baitu secību:

HEKSADECIMĀLAIS PARAKSTS (NOBĪDE 0):

5B ... 5D

ASCII ATTEIOLOJUMS: [...]

Standartizācija: De facto industry configuration standard

Tehniskās specifikācijas

Konteinera arhitektūraPlaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #)
SaspiešanaUncompressed text file
Baitu secībaUTF-8 or ANSI text stream
Krāsu telpasN/A (Configuration File)
Kanāli un struktūraKey-value configuration properties categorized by section namespaces
Maks. izmēriHistorical 64 KB limit in 16-bit Windows; unlimited in modern implementations
CaurspīdīgumsNone
Straumēšana un progresīvā ielādeSequential line-by-line streaming parser

Tehniskā salīdzinājuma matrica: INI pret konkurentiem

Tehniskais atribūtsINI (Pašreizējais)JSONYAMLTOML
Sintakses sarežģītībaVienkāršākā iespējamā (sadaļa + key=val)Stingras iekavas un pēdiņasAtkāpēm jutīgas atstarpesModernas tipizētas tabulas
Komentāru atbalstsVietējais (; un # komentāri)Specifikācijā komentāri netiek atbalstītiVietējais (# komentāri)Vietējais (# komentāri)
Ligzdotas struktūrasTikai 1 līmeņa sadaļasBezgalīgi ligzdoti objekti/masīviBezgalīgi ligzdoti kokiStrukturētu tabulu masīvi
Datu tipizēšanaNetiešās virknes (lietotne parsē veidus)Eksplicīti skaitļi, Būla vērtības, masīviEksplicīti tipi un enkuriEksplicīti datumi, skaitļi, masīvi

Biežākie bojājumu veidi un heksadecimālās atkopšanas ceļvedis

Lietojumprogramma ignorē iestatījumus vai neizdodas sākt darbu.

Pamatcēlonis: Trūkst sadaļas galvenes iekavas (piem., '[Settings' vietā '[Settings]') vai neiekļauta vienādības zīme vērtībā.

Atkopšana: Validējiet un labojiet INI sintaksi, izmantojot File2File Config Formatter.

Drošības analīze un parsētāja uzbrukuma vektori

INI parsētājiem ir jāaizsargājas pret sadaļu injekcijas uzbrukumiem un prototipu piesārņojumu, veicot deserializāciju objektos.

Zināmie uzbrukuma vektori

  • INI injekcija, kur jaunas rindas ievietošana lietotāja ievadē rada neatļautas konfigurācijas sadaļas.
  • Prototipa piesārņojums JavaScript INI parsētājos, kas piešķir vērtību '__proto__'.
  • Pakalpojuma atteice (DoS), izmantojot dziļi rekursīvu sadaļas nosaukuma paplašināšanu.

Aizsardzības labākā prakse:

Vēsturiskā izcelsme un pavērsieni

2000Python standarta bibliotēka integrē ConfigParser moduli, nostiprinot INI kā universālu programmatūras konfigurācijas formātu.
1995Windows 95 ievieš Windows reģistru, lai aizstātu monolītās sistēmas INI failus (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 ievieš WIN.INI kā operētājsistēmas pamata konfigurācijas datubāzi.

Galvenās priekšrocības un plusi

  • Īpaši tīra, intuitīva sintakse: netehniskie lietotāji var viegli lasīt un modificēt iestatījumus.
  • Vietējās parsēšanas API gandrīz katrā programmēšanas valodā (Python configparser, PHP parse_ini_file, C#).
  • Sadaļu nosaukumvietas novērš iestatījumu sadursmes dažādās lietojumprogrammas funkcijās.

Tehniskie ierobežojumi un mīnusi

  • Nav oficiāla starptautiskā standarta: komentāru rakstzīmes (; vs #) un atstarpju noteikumi dažādiem parsētājiem atšķiras.
  • Plakana hierarhija: neatbalsta dziļi ligzdotus masīvus vai sarežģītus strukturētus objektus bez pielāgotiem atdalītājiem.
  • Visas vērtības tiek lasītas kā virknes, kas liek lietojumprogrammām manuāli parsēt veselus skaitļus, Būla vērtības un peldošā punkta skaitļus.

Interesanti tehniski fakti

  • Operētājsistēmā Windows 3.1 katrs iestatījums visā operētājsistēmā tika glabāts tikai divos failos: WIN.INI un SYSTEM.INI.
  • Git izmanto INI formātu savam galvenajam repozitorija konfigurācijas failam, kas atrodas vietā '.git/config'.
  • Darbvirsmas īsceļu faili operētājsistēmā Linux (XDG Desktop Entry '.desktop' faili) ir strukturēti, izmantojot standarta INI sintaksi.

Bieži uzdotie tehniskie jautājumi

Kam tiek izmantots INI fails?

INI failus izmanto galddatoru programmatūra, spēles un izstrādātāju rīki (piemēram, Git konfigurācija un PHP.ini), lai glabātu lietotāja preferences un konfigurācijas iestatījumus viegli salasāmā formātā.

Kā es varu rediģēt INI failu?

Jūs varat atvērt un rediģēt INI failus ar jebkuru pamata teksta redaktoru, piemēram, Notepad, TextEdit, VS Code, vai tieši tiešsaistē, izmantojot File2File.app.

Vai varu konvertēt INI uz JSON vai YAML?

Jā. File2File.app var uzreiz savā pārlūkprogrammā konvertēt INI failus tīros JSON, YAML vai TOML formātos.