前言
INI是英文“初始化”(initialization)的缩写,它是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中,这种配置文件的文件扩展名多为INI。INI文件被用来对操作系统或特定程序初始化或进行参数设置。现在已成为许多配置的非正式标准,其它操作系统可能使用 .conf 或 .cfg 作为后缀
本文章包含INI 格式配置文件内容、结构和语法等内容。
基本语法
- 基本元素是键或属性
- 每个键由名称和值构成,等号 (=) 分隔
- 键名称显示在等号的左侧
- 等号和分号是保留字符
; 这里是注释
[owner]
name=Hello World
organization=Hello World Products
[database]
; 这里是注释
server=192.168.0.11
port=443
file="test.txt"
1. 节(section)
节用方括号括起来,单独占一行,例如:[owner]
- 名称单独出现在一行中
- 名称在方括号 [ 和 ] 中
- 没有明确的 section 结束分隔符
- 在下一个 section 声明处或文件末尾处结束
- 部分和属性名称不区分大小写
2. 键(key)
键(key)又名属性(property),单独占一行用等号连接键名和键值,例如:name=Hello World
3. 注释(comment)
注释使用英文分号(;)开头,单独占一行。在分号后面的文字,直到该行结尾都全部为注释,例如:; 这里是注释
4. 嵌套(部分解析器支持)
[section]
domain = helloworld.abc.com
[section.subsection]
foo = bar
与下面 JSON 大致相同:
{
"section": {
"domain": "helloworld.abc.com"
"subsection": {
"foo": "bar"
}
}
}
5. 数组
[section]
domain = helloworld.abc.com
array[]=first value
array[]=second value
与下面 JSON 大致相同:
{
"section": {
"domain": "helloworld.abc.com",
"array": [
"first value", "second value"
]
}
}
6. 转义字符
转义符 | 描述 |
\\ | \ (单个反斜杠,转义转义字符) |
\' | 撇号 |
\" | 双引号 |
\0 | 空字符 |
\a | 铃声/警报/声音 |
\b | 退格键,某些应用程序的贝尔字符 |
\t | 制表符 |
\r | 回车 |
\n | 换行 |
\; | 分号 |
\# | 数字符号 |
\= | 等号 |
\: | 冒号 |
\x???? | 十六进制代码点的 Unicode 字符对应于 ???? |