Impostazioni INI (.ini)

De Standard

Windows Initialization Configuration (INI) è il classico formato di file di configurazione leggibile dall'uomo reso popolare da Microsoft Windows, che organizza le impostazioni delle applicazioni in [sezioni] denominate contenenti coppie chiave=valore.

Converti da INI a JSON

Convertitore gratuito da INI a JSON nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispeziona e metadati

I sistemi operativi e gli analizzatori di file identificano i file INI ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Conversione 100% privata nel browser: i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file INI ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 0):

5B ... 5D

RAPPRESENTAZIONE ASCII: [...]

Standardizzazione: De facto industry configuration standard

Specifiche tecniche

Architettura del containerFile di configurazione in testo semplice strutturato in intestazioni [section] contenenti coppie key = value e commenti (; o #)
CompressioneFile di testo non compresso
Endianness dei byteFlusso di testo UTF-8 o ANSI
Spazi coloreN/D (File di configurazione)
Canali e strutturaProprietà di configurazione chiave-valore classificate per namespace di sezione
Dimensioni massimeLimite storico di 64 KB in Windows a 16 bit; illimitato nelle implementazioni moderne
TrasparenzaNessuna
Streaming e progressivoParser in streaming sequenziale riga per riga

Matrice di confronto tecnico: INI vs Concorrenti

Attributo tecnicoINI (Corrente)JSONYAMLTOML
Complessità della sintassiIl più semplice possibile (sezione + chiave=val)Parentesi e virgolette rigoroseSpazi bianchi sensibili all'indentazioneTabelle tipizzate moderne
Supporto dei commentiNativo (commenti ; e #)Nessun commento supportato nelle specificheNativo (commenti #)Nativo (commenti #)
Strutture annidateSolo sezioni a 1 livelloOggetti/array annidati infinitiAlberi annidati infinitiArray di tabelle strutturate
Tipizzazione dei datiStringhe implicite (l'app analizza i tipi)Numeri espliciti, booleani, arrayTipi e ancoraggi esplicitiDate, numeri, array espliciti

Modalità di corruzione comuni e guida al recupero Hex

L'applicazione ignora le impostazioni o non si avvia.

Causa principale: Parentesi di intestazione di sezione mancante (ad es. '[Settings' anziché '[Settings]') o segno di uguale non sottoposto a escape nel valore.

Ripristino: Convalidare e correggere la sintassi INI utilizzando File2File Config Formatter.

Analisi di sicurezza e vettori di attacco del parser

I parser INI devono proteggersi dagli attacchi di iniezione di sezione e dall'inquinamento dei prototipi durante la deserializzazione in oggetti.

Vettori di attacco noti

  • Iniezione INI in cui l'inserimento di interruzioni di riga nell'input dell'utente crea sezioni di configurazione non autorizzate.
  • Inquinamento dei prototipi nei parser INI JavaScript che assegnano a '__proto__'.
  • Denial of service tramite l'espansione ricorsiva profonda dei nomi delle sezioni.

Migliori pratiche difensive: Sanificare gli input utente per vietare i caratteri di interruzione di riga e proteggersi dall'inquinamento dei prototipi.

Origini storiche e tappe fondamentali

2000La libreria standard di Python integra il modulo ConfigParser, consolidando INI come formato di configurazione software universale.
1995Windows 95 introduce il Registro di sistema di Windows per sostituire i file INI di sistema monolitici (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 introduce WIN.INI come database di configurazione principale del sistema operativo.

Vantaggi principali e pro

  • Sintassi eccezionalmente pulita e intuitiva: gli utenti non tecnici possono leggere e modificare facilmente le impostazioni.
  • API di analisi native in quasi tutti i programmi linguistici (configparser di Python, parse_ini_file di PHP, C#).
  • I namespace di sezione impediscono collisioni di impostazioni tra diverse funzioni dell'applicazione.

Limiti tecnici e svantaggi

  • Nessuno standard internazionale formale: i caratteri di commento (; vs #) e le regole di escape variano tra i parser.
  • Gerarchia piatta: non supporta array profondamente annidati o oggetti strutturati complessi senza delimitatori personalizzati.
  • Tutti i valori vengono letti come stringhe, richiedendo alle applicazioni di analizzare manualmente numeri interi, booleani e numeri in virgola mobile.

Curiosità tecniche interessanti

  • In Windows 3.1, ogni singola impostazione dell'intero sistema operativo era memorizzata in soli due file: WIN.INI e SYSTEM.INI.
  • Git utilizza il formato INI per il suo file di configurazione del repository principale situato in '.git/config'.
  • I file di scelta rapida del desktop su Linux (file '.desktop' XDG Desktop Entry) sono strutturati utilizzando la sintassi INI standard.

Domande tecniche frequenti

A cosa serve un file INI?

I file INI vengono utilizzati da software desktop, giochi e strumenti per sviluppatori (come la configurazione di Git e PHP.ini) per archiviare le preferenze dell'utente e le impostazioni di configurazione in un formato facilmente leggibile.

Come posso modificare un file INI?

Puoi aprire e modificare file INI con qualsiasi editor di testo di base come Notepad, TextEdit, VS Code o direttamente online utilizzando File2File.app.

Posso convertire INI in JSON o YAML?

Sì. File2File.app può convertire i file INI in formati JSON, YAML o TOML puliti istantaneamente nel tuo browser.