这是理解和编写 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
作为后缀
稳定的特性
- 基本元素是键或属性
- 每个键由
名称
和值
构成,等号 (=) 分隔
键名称
显示在等号的左侧
等号
和分号
是保留
字符
与下面👇 JSON
大致相同
注释
注释 (;
)
注释 (#
)
一行之后的注释 (;
,#
) (不标准)
在某些情况下注释必须单独出现在行上
部分(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" ] } }
|
解释器
另见