INI 速查表
这是理解和编写 INI 格式配置文件的速查表,此清单包含配置的内容,结构和语法等内容。
入门
介绍
INI 是一种固定标准格式的配置文件,INI 配置方法来自 MS-DOS 操作系统
; 这里是注释
[owner]
name=John Doe
organization=Acme Products
[database]
; 这里是注释
server=192.0.2.42
port=143
file="acme payroll.dat"
现在已成为许多配置的非正式标准,其它操作系统可能使用 .conf 或 .cfg 作为后缀
稳定的特性
- 基本元素是键或属性
- 每个键由名称和值构成,等号 (=) 分隔
- 键名称显示在等号的- 左侧
- 等号和- 分号是- 保留字符
name = value
与下面👇 JSON 大致相同
{
  "name": "value"
}
注释
注释 (;)
; 这里是注释文本,将被忽略
注释 (#)
# 这里是注释文本,⚠️ 部分编译器支持
一行之后的注释 (;,#) (不标准)
var = a       ; 这是一个内联注释
foo = bar     # 这是另一个内联注释
在某些情况下注释必须单独出现在行上
部分(Sections)
- 名称单独出现在一行中
- 名称在方括号 [和]中
- 没有明确的 section 结束分隔符
- 在下一个 section声明处或文件末尾处结束
- 部分和属性名称不区分大小写
[section]
key1 = a
key2 = b
与下面👇 JSON 大致相同
{
  "section": {
    "key1": "a",
    "key2": "b"
  }
}
嵌套(部分解析器支持)
[section]
domain = jaywcjlove.github.io
[section.subsection]
foo = bar
与下面👇 JSON 大致相同
{
  "section": {
    "domain": "jaywcjlove.github.io"
    "subsection": {
      "foo": "bar"
    }
  }
}
嵌套到上一节(简写)
[section]
domain = jaywcjlove.github.io
[.subsection]
foo = bar
转义字符
| 序列 | 意思 | 
|---|---|
| \\ | \ (单个反斜杠,转义转义字符) | 
| \' | 撇号 | 
| \" | 双引号 | 
| \0 | 空字符 | 
| \a | 铃声/警报/声音 | 
| \b | 退格键,某些应用程序的贝尔字符 | 
| \t | 制表符 | 
| \r | 回车 | 
| \n | 换行 | 
| \; | 分号 | 
| \# | 数字符号 | 
| \= | 等号 | 
| \: | 冒号 | 
| \x???? | 十六进制代码点的 Unicode 字符对应于 ???? | 
数组
[section]
domain = jaywcjlove.github.io
array[]=first value
array[]=second value
与下面👇 JSON 大致相同
{
  "section": {
    "domain": "jaywcjlove.github.io",
    "array": [
      "first value", "second value"
    ]
  }
}
解释器
- @go-ini/ini (golang)
- @npm/ini (nodejs)
- @zonyitoo/rust-ini (rust)
- @rxi/ini (c)
- @pulzed/mINI (c++)
- @rickyah/ini-parser (c#)
- @Enichan/Ini (c#)
另见
- INI 文件配置 (wikipedia.org)
- YAML 格式配置文件速查表 (jaywcjlove.github.io)
- TOML 格式配置文件速查表 (jaywcjlove.github.io)
                声明 定期同步开源项目
    reference
            
        评论
欢迎提交文档错误或者建议。提交成功后自己可见,其他用户待审核通过后才可见。
            您暂未登录
            
    
                必须登录后才能使用评论功能(评论、点赞、回复、删除等),请
    点击跳转登录
。首次评论仅自己可见,待管理员审核通过后,才会对外发布。