INI iestatījumi (.ini)
De StandartsWindows 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:
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 ... 5DASCII ATTEIOLOJUMS: [...]
Standartizācija: De facto industry configuration standard
Tehniskās specifikācijas
| Konteinera arhitektūra | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Saspiešana | Uncompressed text file |
| Baitu secība | UTF-8 or ANSI text stream |
| Krāsu telpas | N/A (Configuration File) |
| Kanāli un struktūra | Key-value configuration properties categorized by section namespaces |
| Maks. izmēri | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Caurspīdīgums | None |
| Straumēšana un progresīvā ielāde | Sequential line-by-line streaming parser |
Tehniskā salīdzinājuma matrica: INI pret konkurentiem
| Tehniskais atribūts | INI (Pašreizējais) | JSON | YAML | TOML |
|---|---|---|---|---|
| Sintakses sarežģītība | Vienkāršākā iespējamā (sadaļa + key=val) | Stingras iekavas un pēdiņas | Atkāpēm jutīgas atstarpes | Modernas tipizētas tabulas |
| Komentāru atbalsts | Vietējais (; un # komentāri) | Specifikācijā komentāri netiek atbalstīti | Vietējais (# komentāri) | Vietējais (# komentāri) |
| Ligzdotas struktūras | Tikai 1 līmeņa sadaļas | Bezgalīgi ligzdoti objekti/masīvi | Bezgalīgi ligzdoti koki | Strukturētu tabulu masīvi |
| Datu tipizēšana | Netiešās virknes (lietotne parsē veidus) | Eksplicīti skaitļi, Būla vērtības, masīvi | Eksplicīti tipi un enkuri | Eksplicī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
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.