INI


INI


введение

  • INI - это конфигурационный файл с фиксированным стандартным форматом
  • Базовыми элементами являются ключи или свойства
  • Каждый ключ состоит из имени и значения, разделенных знаком равенства (=)
  • Имя ключа отображается слева от знака равенства
  • Знак равенства и точка с запятой являются резервными символами
  • Метод конфигурирования INI заимствован из операционной системы MS-DOS

В настоящее время является неофициальным стандартом для многих конфигураций, в других операционных системах в качестве суффикса может использоваться .conf или .cfg.

Пример

; Вот комментарии
[owner]
name=John Doe
организация=Acme Products

[база данных]
; Вот комментарии
сервер=192.0.2.42
порт=143
файл="acme payroll.dat"

[section.subsection]
foo = bar

Комментарии

комментарий (;)

; Это текст комментария, который будет проигнорирован

комментарий (#)

# Это текст комментария, ⚠️ Некоторые компиляторы поддерживают его.

Комментарии после строки (;,#) (не стандарт)

var = a ; это встроенный комментарий
foo = bar # это еще один встроенный комментарий

В некоторых случаях комментарии должны появляться в строках отдельно

Разделы

  • Название отображается в отдельной строке
  • Имена заключаются в квадратные скобки [ и ].
  • Нет явного разделителя конец раздела.
  • Заканчивается на следующем объявлении раздела или в конце файла
  • Имена секций и атрибутов не чувствительны к регистру
[section]
ключ1 = a
ключ2 = b

То же самое, что и JSON ниже 👇

{
  "section": {
    "key1": "a",
    "key2": "b"
  }
}

Вложенность (поддерживается некоторыми парсерами)

[section]
домен = cheatsheets.zip
[section.subsection]
foo = bar

То же самое, что и JSON ниже 👇

{
  "section": {
    "domain": "cheatsheets.zip".
    "subsection": {
      "foo": "bar"
    }
  }
}

Гнездо к предыдущему разделу (сокращение)

[section]
домен = cheatsheets.zip
[.subsection]
foo = bar

Escape символ

последовательность значение
\\\ \ (одиночная обратная косая черта, управляющий символ)
\' апостроф
\" двойные кавычки
\0 нулевой символ
\a ringtone/alert/sound
\b Backspace, [символ белла] для некоторых приложений (https://en.wikipedia.org/wiki/Bell_character)
\t символ табуляции
\r возврат каретки
\n новая строка
\; точка с запятой
\# знак числа
\= знак равенства
\: двоеточие
\x???? символ Юникода для шестнадцатеричной кодовой точки, соответствующей ????

Массив

[section]
домен = cheatsheets.zip
array[]=первое значение
array[]=второе значение

То же самое, что и JSON ниже 👇

{
    "section": {
        "domain": "cheatsheets.zip",
            "array": [
            "first value",
            "второе значение"
        ]
    }
}

Интерпретатор

См. также