Setări INI (.ini)

De Standard

Windows Initialization Configuration (INI) este formatul clasic de fișier de configurare ușor de citit de către om, popularizat de Microsoft Windows, care organizează setările aplicației în [secțiuni] denumite care conțin perechi cheie=valoare.

Convertește din INI în JSON

Convertor gratuit din INI în JSON direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.

Inspectează și Metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele INI prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Conversie 100% privată în browser - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate cu zero transmisie în rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (Magic Bytes)

Sistemele de operare și analizatoarele de fișiere identifică fișierele INI prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEX (OFFSET 0):

5B ... 5D

REPREZENTARE ASCII: [...]

Standardizare: De facto industry configuration standard

Specificații tehnice

Arhitectură containerPlaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #)
CompresieUncompressed text file
Endianitatea octețilorUTF-8 or ANSI text stream
Spații de culoareN/A (Configuration File)
Canale și structurăKey-value configuration properties categorized by section namespaces
Dimensiuni maximeHistorical 64 KB limit in 16-bit Windows; unlimited in modern implementations
TransparențăNone
Streaming și progresivSequential line-by-line streaming parser

Matrice de comparație tehnică: INI vs Competitori

Atribut tehnicINI (Curent)JSONYAMLTOML
Complexitate sintaxăCea mai simplă posibilă (secțiune + cheie=val)Paranteze și ghilimele stricteSpații albe sensibile la indentareTabele moderne tipizate
Suport pentru comentariiNativ (comentarii ; și #)Niciun comentariu acceptat în specificațieNativ (comentarii #)Nativ (comentarii #)
Structuri imbricateDoar secțiuni de nivel 1Obiecte/array-uri imbricate infiniteArbore imbricat infinitArray-uri de tabele structurate
Tipizarea datelorȘiruri implicite (aplicația parsează tipurile)Numere explicite, booleene, array-uriTipuri explicite și ancoreDate explicite, numere, array-uri

Moduri comune de corupție și ghid de recuperare hexazecimală

Aplicația ignoră setările sau nu reușește să pornească.

Cauză principală: Lipsește paranteza antetului de secțiune (de ex., „[Settings" în loc de „[Settings]") sau semnul egal nu a fost protejat (unescaped) în valoare.

Recuperare: Validați și remediați sintaxa INI utilizând instrumentul File2File Config Formatter.

Analiză de securitate și vectori de atac asupra parserului

Parserele INI trebuie să se protejeze împotriva atacurilor de injecție în secțiuni și a poluării prototipurilor la deserializarea în obiecte.

Vectori de atac cunoscuți

  • Injecție INI în care introducerea de caractere newline în datele introduse de utilizator creează secțiuni de configurare neautorizate.
  • Poluarea prototipurilor în parserele INI din JavaScript prin atribuirea către „__proto__".
  • Refuz de servicii (DoS) prin expansiunea profund recursivă a numelui secțiunilor.

Cele mai bune practici de securitate:

Origini istorice și repere

2000Biblioteca standard Python integrează modulul ConfigParser, consacrând INI ca format universal de configurare software.
1995Windows 95 introduce Registry-ul Windows pentru a înlocui fișierele INI monolitice de sistem (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 introduce WIN.INI ca bază de date principală de configurare a sistemului de operare.

Avantaje cheie și beneficii

  • Sintaxă excepțional de curată și intuitivă: utilizatorii non-tehnici pot citi și modifica cu ușurință setările.
  • APIs de parsare native în aproape fiecare limbaj de programare (Python configparser, PHP parse_ini_file, C#).
  • Spațiile de nume ale secțiunilor previn conflictele de setări între diferitele funcționalități ale aplicației.

Limitări tehnice și dezavantaje

  • Fără standard internațional formal: caracterele de comentariu (; vs #) și regulile de escape variază între parsere.
  • Ierarhie plată: nu acceptă array-uri imbricate profund sau obiecte structurate complexe fără delimitatori personalizați.
  • Toate valorile sunt citite ca șiruri de caractere (stringuri), necesitând ca aplicațiile să parseze manual numerele întregi, booleenele și numerele cu virgulă mobilă.

Curiozități tehnice interesante

  • În Windows 3.1, fiecare setare din întregul sistem de operare era stocată în doar două fișiere: WIN.INI și SYSTEM.INI.
  • Git utilizează formatul INI pentru fișierul său principal de configurare a repository-ului, aflat la „.git/config".
  • Fișierele de comenzi rapide desktop de pe Linux (fișierele XDG Desktop Entry „.desktop") sunt structurate folosind sintaxa INI standard.

Întrebări tehnice frecvente

Pentru ce este folosit un fișier INI?

Fișierele INI sunt folosite de software-ul pentru desktop, jocuri și instrumente pentru dezvoltatori (cum ar fi configurația Git și PHP.ini) pentru a stoca preferințele utilizatorilor și setările de configurare într-un format ușor de citit.

Cum pot edita un fișier INI?

Puteți deschide și edita fișiere INI cu orice editor de text de bază, cum ar fi Notepad, TextEdit, VS Code, sau direct online folosind File2File.app.

Pot converti INI în JSON sau YAML?

Da. File2File.app poate converti fișierele INI în formate curate JSON, YAML sau TOML instantaneu în browserul dumneavoastră.