Definições INI (.ini)
Padrão PadrãoWindows Initialization Configuration (INI) é um formato clássico de arquivo de configuração, popularizado pelo Microsoft Windows. Ele organiza as configurações de aplicativos em [sections] nomeadas com pares chave=valor.
Converter INI para JSON
Conversor gratuito de INI para JSON no navegador. Converta arquivos instantaneamente no seu dispositivo.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos INI pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos INI pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
5B ... 5DREPRESENTAÇÃO ASCII: [...]
Padronização: Padrão de fato do setor para arquivos de configuração
Especificações técnicas
| Estrutura do contêiner | Arquivo de configuração em texto simples, organizado em cabeçalhos [section] com pares chave = valor e comentários iniciados por ; ou # |
| Compressão | Arquivo de texto não compactado |
| Ordem dos bytes (endianness) | Fluxo de texto UTF-8 ou ANSI |
| Espaços de cor | Não se aplica (arquivo de configuração) |
| Canais e Estrutura | Propriedades de configuração em pares chave-valor, organizadas em seções |
| Dimensões Máximas | Limite histórico de 64 KB no Windows de 16 bits; ilimitado em implementações modernas |
| Transparência | Nenhum |
| Streaming e Progressivo | Analisador sequencial em fluxo, linha por linha |
Matriz de comparação técnica: INI e formatos concorrentes
| Atributo técnico | INI (Atual) | JSON | YAML | TOML |
|---|---|---|---|---|
| Complexidade da sintaxe | A mais simples possível (seção + chave=valor) | Colchetes e aspas obrigatórios | Espaços e indentação significativos | Tabelas modernas com tipagem |
| Suporte a comentários | Nativo (comentários com ; e #) | A especificação não permite comentários | Nativo (comentários com #) | Nativo (comentários com #) |
| Estruturas aninhadas | Apenas seções de nível 1 | Objetos e matrizes com aninhamento ilimitado | Árvores aninhadas ilimitadas | Matrizes de tabelas estruturadas |
| Tipagem de dados | Strings implícitas (o aplicativo analisa tipos) | Números, booleanos e matrizes explícitos | Tipos e âncoras explícitos | Datas, números e matrizes explícitos |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
O aplicativo ignora as configurações ou falha ao iniciar.
Causa principal: Falta um colchete no cabeçalho da seção (por exemplo, [Settings em vez de [Settings]) ou há um sinal de igual sem escape no valor.
Recuperação: Valide e corrija a sintaxe INI com o formatador de arquivos de configuração do File2File.app.
Análise de segurança e vetores de ataque a analisadores
Ao converter dados em objetos, analisadores INI precisam se proteger contra injeção de seções e poluição de protótipo.
Vetores de ataque conhecidos
- Injeção INI em que uma quebra de linha na entrada do usuário cria seções de configuração não autorizadas.
- Poluição de protótipo em analisadores INI de JavaScript que atribuem valores a __proto__.
- Negação de serviço causada pela expansão recursiva profunda de nomes de seção.
Melhores práticas defensivas: Sanitize as entradas do usuário para bloquear caracteres de quebra de linha e proteger contra poluição de protótipo.
Origens históricas e marcos
Principais vantagens
- A sintaxe é simples e intuitiva; usuários sem conhecimentos técnicos conseguem ler e alterar as configurações facilmente.
- Quase todas as linguagens de programação oferecem APIs de análise nativas (como configparser no Python e parse_ini_file no PHP).
- Os espaços de nomes das seções evitam conflitos entre configurações de diferentes recursos do aplicativo.
Limitações técnicas e desvantagens
- Não há um padrão internacional formal: os caracteres de comentário (; ou #) e as regras de escape variam entre os analisadores.
- A hierarquia é plana: sem delimitadores personalizados, não há suporte a matrizes profundamente aninhadas nem a objetos estruturados complexos.
- Todos os valores são lidos como strings; cada aplicativo precisa convertê-los manualmente em inteiros, booleanos ou números de ponto flutuante.
Curiosidades técnicas
- No Windows 3.1, todas as configurações do sistema operacional ficavam em apenas dois arquivos: WIN.INI e SYSTEM.INI.
- O Git usa o formato INI em seu arquivo principal de configuração do repositório, localizado em .git/config.
- Atalhos de aplicativos na área de trabalho do Linux (arquivos .desktop do XDG Desktop Entry) usam a sintaxe INI padrão.
Perguntas técnicas frequentes
Para que serve um arquivo INI?
Arquivos INI são usados por programas de desktop, jogos e ferramentas de desenvolvimento (como a configuração do Git e o PHP.ini) para armazenar preferências e configurações em um formato fácil de ler.
Como posso editar um arquivo INI?
Você pode abrir e editar arquivos INI em qualquer editor de texto básico, como Bloco de Notas, TextEdit ou VS Code, ou diretamente no File2File.app.
Posso converter INI para JSON ou YAML?
Sim. O File2File.app converte arquivos INI em JSON, YAML ou TOML diretamente no navegador.