# string.ini 库模块帮助文档

## string.ini 成员列表 <a id="string.ini" href="#string.ini">&#x23;</a>

INI 文件格式解析器。  
string.ini 库处理字符串或读写文件都使用 UTF-8 编码。   
fsys.ini 库用 UTF-8 编码处理字符串，但读写文件使用 UTF-16 或 ANSI 编码  

INI 并没有统一的标准格式，通常被用于读写简单的配置文件。  
因此 string.ini 仅考虑较流行的写法规则。  

- 支持在行首以 `.` 或 `;` 标明注释行 。    
- 节名支持用 `.` 号分隔的命名空间语法  
- 支持在节名开始用 `.` 表示嵌套到上一个节内。  
- 键名可用下标表示添加值到数组成员，空下标表示追加到数组尾部。  
- 键值不考虑是否用引号包围，如有需求请自行处理。  
- 不解析转义字符，如有需要请用 string.unescape 自行解析。  
- 所有节名与键值都不应跨行，如有需求请自行转义。

### string.ini.load(path,inlineComment) <a id="string.ini.load" href="#string.ini.load">&#x23;</a>
加载并解析 INI 文件，返回表对象。  
@path 参数指定要解析的文件路径，仅支持 UTF-8 编码文件。  
ANSI 或 UTF-16 编码文件可自行转换编码，或改用 fsys.ini 操作。  
@inlineComment 为可选参数，设为 true 支持行内注释。

### string.ini.parse <a id="string.ini.parse" href="#string.ini.parse">&#x23;</a>
解析 INI 格式

### string.ini.parse(str,inlineComment) <a id="string.ini.parse" href="#string.ini.parse">&#x23;</a>
解析 INI 格式字符串，返回表对象。  
@str 参数指定要解析的字符串。  
@inlineComment 为可选参数，设为 true 支持行内注释。

### string.ini.save(path,tab,bom,whitespace,newline) <a id="string.ini.save" href="#string.ini.save">&#x23;</a>
将 @tab 参数指定的表以 INI 格式保存到文件。  
@path 参数指定文件路径。  
可选的 @bom 参数为 true 则文件写入 UTF-8 BOM 头。  
可选的 @whitespace 参数为 true 则分隔键值的等号首尾添加空格。  
可选的 @whitespace 参数为 true 则节与节之间添加空行。  
函数执行成功返回  true 。

### string.ini.stringify(tab,bom,whitespace,newline) <a id="string.ini.stringify" href="#string.ini.stringify">&#x23;</a>
将 @tab 参数指定的表以 INI 格式并返回字符串。  
可选的 @bom 参数为 true 则文件写入 UTF-8 BOM 头。  
可选的 @whitespace 参数为 true 则分隔键值的等号首尾添加空格。  
可选的 @whitespace 参数为 true 则节与节之间添加空行。
