INI 解析器

即時將 INI 設定檔解析並轉換為 JSON。支援區段、註解與引號值。所有處理均在您的瀏覽器中完成。

即時解析 區段支援 客戶端處理
解析後的 JSON 將顯示在此...

如何使用 INI 解析器

1

貼上 INI

將您的 INI 設定內容輸入或貼上到輸入區域。

2

解析

點擊「解析」按鈕將您的 INI 轉換為 JSON。

3

複製 JSON

檢閱產生的 JSON 輸出並複製到剪貼簿。

什麼是 INI 檔案?

INI 檔案是一種簡單的純文字設定檔格式,常見於 Windows 系統及許多應用程式中。它們使用由區段、鍵與值組成的直接結構,人類與機器皆易於閱讀。

INI 結構

區段

以 [section_name] 標頭表示,用於將相關設定分組

鍵值對

在區段內或全域的簡單 key = value 指派

註解

以 ; 或 # 開頭的行會被視為註解

常見問題

支援哪些 INI 功能?

本解析器支援區段、key=value 對、註解(使用 ; 或 #)、引號字串值與多行值。它也能處理布林值與數值型別偵測。

可以解析 PHP 特定的 INI 檔案嗎?

本解析器處理標準 INI 格式。部分 PHP 特定的延伸功能(如常數替換與特殊運算子)可能不支援。

如何處理重複的鍵?

在同一區段中發現重複的鍵時,最後一個值優先。這遵循標準的 INI 解析行為。

INI 格式實際上用在哪裡?

經典的應用場景包括:php.ini(PHP 引擎的完整設定)、.gitconfig、Windows 上承襲自 win.ini 的傳統、Linux 上的 .desktop 項目,還有許多遊戲與桌面應用程式。此格式的根源可追溯到 1960 至 70 年代,這也是各地語法略有差異的原因——區段、key=value 與分號註解是穩定的核心。

INI 的值有型別嗎?

沒有——一切都是字串;型別是讀取端的慣例。PHP 的 parse_ini_file() 會將 true/on/yes/1 與 false/off/no/0 轉換為布林值(這是官方文件記載的行為),把看起來像數字的值轉為整數與浮點數,其餘則保留為字串。在 PHP 中為值加上引號('1')可將其保留為字串。本解析器會原封不動地顯示原始值。

INI 檔案中的區段與巢狀鍵如何運作?

[section] 會開啟一個區段,其作用範圍涵蓋後續所有鍵,直到下一個標頭為止——php.ini 的 [PHP] 與 [mail function] 區塊就是這樣運作的。由於此格式本身只有一層,巢狀結構是靠點號鍵(database.host = localhost)或像 [database.pool] 這樣的區段名稱來模擬。當資料需要深度巢狀時,就代表你已經超出 INI 的能力範圍,該改用 TOML 或 YAML 了。

INI 如何處理特殊字元與跳脫?

基礎格式幾乎沒有定義任何跳脫字元——值會被視為字面文字,直到行尾為止。實務上:雙引號可將包含空格的值群組起來,也是保留前導或尾隨空白唯一可移植的方式;${VAR} 變數插值存在於某些實作中(例如 systemd),其他實作則沒有;而 ; 與 # 是否能在行中間開啟註解,則取決於讀取它的解析器。

INI 與 .env 檔案有什麼不同?

.env 是 INI 的扁平子集:KEY=value 的行、沒有區段,由各種語言的 dotenv 函式庫依循 12-Factor App 設定方法論來讀取。INI 檔案依賴區段,由特定應用程式讀取,而非通用慣例。.env 中的值幾乎都是注入環境變數的字串,而 INI 的讀取端則常常套用各自的型別規則。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}