这是理解和编写 INI 格式配置文件的快速参考备忘单,此清单包含配置的内容,结构和语法等内容。

入门

介绍

INI 是一种固定标准格式的配置文件,INI 配置方法来自 MS-DOS 操作系统

1
2
3
4
5
6
7
8
9
10
; 这里是注释
[owner]
name=John Doe
organization=Acme Products

[database]
; 这里是注释
server=192.0.2.42
port=143
file="acme payroll.dat"

现在已成为许多配置的非正式标准,其它操作系统可能使用 .conf.cfg 作为后缀

稳定的特性

  • 基本元素是键或属性
  • 每个键由名称构成,等号 (=) 分隔
  • 键名称显示在等号的左侧
  • 等号分号保留字符
1
name = value

与下面👇 JSON 大致相同

1
2
3
{
"name": "value"
}

注释

注释 (;)

1
; 这里是注释文本,将被忽略

注释 (#)

1
# 这里是注释文本,⚠️ 部分编译器支持

一行之后的注释 (;,#) (不标准)

1
2
var = a       ; 这是一个内联注释
foo = bar # 这是另一个内联注释

在某些情况下注释必须单独出现在行上

部分(Sections)

  • 名称单独出现在一行中
  • 名称在方括号 []
  • 没有明确的 section 结束 分隔符
  • 在下一个 section 声明处或文件末尾处结束
  • 部分和属性名称不区分大小写
1
2
3
[section]
key1 = a
key2 = b

与下面👇 JSON 大致相同

1
2
3
4
5
6
{
"section": {
"key1": "a",
"key2": "b"
}
}

嵌套(部分解析器支持)

1
2
3
4
5
[section]
domain = jaywcjlove.github.io

[section.subsection]
foo = bar

与下面👇 JSON 大致相同

1
2
3
4
5
6
7
8
{
"section": {
"domain": "jaywcjlove.github.io"
"subsection": {
"foo": "bar"
}
}
}

嵌套到上一节(简写)

1
2
3
4
[section]
domain = jaywcjlove.github.io
[.subsection]
foo = bar

转义字符

序列 意思
\\ \ (单个反斜杠,转义转义字符)
\' 撇号
\" 双引号
\0 空字符
\a 铃声/警报/声音
\b 退格键,某些应用程序的贝尔字符
\t 制表符
\r 回车
\n 换行
\; 分号
\# 数字符号
\= 等号
\: 冒号
\x???? 十六进制代码点的 Unicode 字符对应于 ????

数组

1
2
3
4
[section]
domain = jaywcjlove.github.io
array[]=first value
array[]=second value

与下面👇 JSON 大致相同

1
2
3
4
5
6
7
8
{
"section": {
"domain": "jaywcjlove.github.io",
"array": [
"first value", "second value"
]
}
}

解释器

另见


评论
文章归档文章分类文章标签复制本文标题复制本文地址
随便逛逛