INI (formato de arquivo)

Origem: Wikipédia, a enciclopédia livre.
 Nota: Para a cidade nigeriana, veja Ini (Nigéria).

O formato de arquivo INI é um padrão informal para arquivos de configuração para algumas plataformas ou software. Arquivos INI são arquivos de texto simples com uma estrutura básica composta de "seções" e "propriedades".

No MS-DOS e plataformas de 16 bits do Windows através do Windows ME e Windows 2000, o arquivo INI serviu como o mecanismo primário para configurar o sistema operacional e as características dos aplicativos instalados, como controladores de dispositivos (drivers), fontes, lançadores de inicialização e coisas que necessitavam ser inicializadas na inicialização do Windows. Arquivos de inicialização INI foram também geralmente utilizados por aplicações para armazenar suas configurações individuais.

No Windows NT a Microsoft introduziu o registro e começou a conduzir os desenvolvedores a se distanciarem do uso de arquivos INI para configuração. Todas as versões posteriores do Windows passaram a utilizar o Registro do Windows para configuração do sistema, e aplicações desenvolvidas com o Framework .NET utilizam arquivos XML .config especiais. Contudo, as APIs ainda existem no Windows e os desenvolvedores ainda podem utilizá-las.

O nome "arquivo INI" vem da extensão de nome de arquivo normalmente utilizada, .INI, que vem de "inicialização". Outras extensões de arquivo de inicialização são .CFG, .conf[1][2] e .TXT, especialmente ocorrências de 'config.txt'.

Sistemas Linux e Unix também utilizam um formato de arquivo similar para configuração do sistema. Além disso, softwares independentes de plataforma podem usar este formato de arquivo para configuração. Ele é legível e simples para análise, desta forma é um formato útil para arquivos de configuração que não necessitam de muita complexidade.

Alternativas incluem: TOML, YAML, JSON e XML.

Formato[editar | editar código-fonte]

Chaves (propriedades)[editar | editar código-fonte]

O elemento básico contido em um arquivo INI é a chave ou propriedade. Toda chave tem um nome e um valor, delimitado por um sinal de igual(=). O nome aparece à esquerda do sinal de igual.

nome=valor

Seções[editar | editar código-fonte]

Chaves podem (mas não necessitam) ser agrupadas em seções nomeadas arbitrariamente. O nome da seção aparece em uma linha, entre colchetes ([ e ]). Todas as chaves após a declaração de seção são associadas com aquela seção. Não há um delimitador explícito de "final de seção". Elas terminam na próxima declaração de seção ou no final do arquivo e não podem ser aninhadas.

[seção]
a=a
b=b

Sensibilidade à capitalização[editar | editar código-fonte]

Seções e nomes de propriedades não são sensíveis a capitalização na implementação do Windows.[3]

Comentários

Ponto-e-vírgula(;) indica o início de um comentário. Comentários continuam até o final da linha. Qualquer coisa entre o ponto e vírgula e o final da linha é ignorada.

; texto de comentário

Características variantes[editar | editar código-fonte]

O formato de arquivo INI não é bem definido. Muitos programas suportam características além das características descritas acima. A seguir está uma lista de algumas características comuns, que podem ou não ser implementadas em um dado programa qualquer.

Linhas em branco

Alguns programas rudimentares não suportam linhas em branco. Portanto, toda linha deve ser um cabeçalho de seção, um par de parâmetro valor ou um comentário.

Espaços em branco

A interpretação de espaços em branco varia. A maioria das implementações ignoram espaços em branco em torno do nome do parâmetro. Algumas ignoram até mesmo espaços em branco dentro de nomes de valores (por exemplo, escrever "host name" é equivalente a escrever "hostname"). Algumas implementações também ignoram espaços em branco à esquerda e à direita em torno dos valores de parâmetros. Outras consideram todos os caracteres seguindo o sinal de igual inclusive espaços em branco como parte do valor.

Valores entre aspas

Algumas implementações permitem que valores entre aspas, normalmente usando-se aspas duplas e/ou apóstrofos. Isto possibilita a declaração explícita de espaço em branco e ou caracteres especiais entre aspas (igual, vírgula, etc.). A função padrão do Windows GetPrivateProfileString suporta isto e remove marcas de aspas que delimitam os valores.

Referências

  1. .conf initialization files
  2. Other .conf initialization files
  3. «GetPrivateProfileString function». Microsoft Developer Network. Microsoft. Consultado em 2 de junho de 2012