Pengaturan INI (.ini)
Standar StandarWindows Initialization Configuration (INI) adalah format file konfigurasi klasik yang mudah dibaca manusia dan dipopulerkan oleh Microsoft Windows. Format ini mengelompokkan pengaturan aplikasi ke dalam [sections] bernama yang berisi pasangan key=value.
Konversi INI ke JSON
Konverter INI ke JSON gratis yang berjalan di peramban. Konversikan berkas secara instan di perangkat Anda.
Pemeriksaan & Metadata
Sistem operasi dan penganalisis file mengenali file INI dengan memeriksa urutan byte biner di bagian awal:
Tanda Tangan Header per Byte (Byte Penanda)
Sistem operasi dan penganalisis file mengenali file INI dengan memeriksa urutan byte biner di bagian awal:
TANDA TANGAN HEX (OFFSET 0):
5B ... 5DREPRESENTASI ASCII: [...]
Standardisasi: Standar konfigurasi industri de facto
Spesifikasi Teknis
| Arsitektur Kontainer | File konfigurasi teks biasa dengan header [section] yang berisi pasangan key = value dan komentar (; atau #) |
| Kompresi | File teks tanpa kompresi |
| Urutan Byte | Aliran teks UTF-8 atau ANSI |
| Ruang Warna | N/A (Configuration File) |
| Saluran & Struktur | Properti konfigurasi key-value yang dikelompokkan menurut ruang nama bagian |
| Dimensi Maksimum | Batas historis 64 KB pada Windows 16-bit; tidak terbatas pada implementasi modern |
| Transparansi | None |
| Streaming & Progresif | Pengurai streaming berurutan baris demi baris |
Perbandingan Teknis INI dengan Pesaing
| Atribut Teknis | INI (Saat Ini) | JSON | YAML | TOML |
|---|---|---|---|---|
| Kompleksitas Sintaks | Paling sederhana (bagian + key=val) | Tanda kurung dan tanda kutip wajib | Spasi yang sensitif terhadap indentasi | Tabel bertipe modern |
| Dukungan Komentar | Bawaan (komentar ; dan #) | Spesifikasi tidak mendukung komentar | Bawaan (komentar #) | Bawaan (komentar #) |
| Struktur Bersarang | Bagian 1 tingkat saja | Objek/array bersarang tak terbatas | Pohon bersarang tak terbatas | Array tabel terstruktur |
| Pengetikan Data | String implisit (aplikasi mengurai tipe) | Angka eksplisit, boolean, array | Tipe & jangkar eksplisit | Tanggal, angka, array eksplisit |
Pola Kerusakan Umum dan Panduan Pemulihan Hex
Aplikasi mengabaikan pengaturan atau gagal dimulai.
Penyebab Utama: Header bagian tidak memiliki kurung siku penutup (misalnya, [Settings alih-alih [Settings]) atau nilainya memuat tanda sama dengan yang tidak di-escape.
Pemulihan: Validasi dan perbaiki sintaks INI menggunakan Pemformat Konfigurasi File2File.app.
Analisis Keamanan & Vektor Serangan Parser
Parser INI harus melindungi dari serangan injeksi bagian dan pencemaran prototipe saat melakukan deserialisasi ke dalam objek.
Vektor Serangan yang Diketahui
- Sisipan baris baru dalam masukan pengguna dapat menyuntikkan bagian konfigurasi INI yang tidak sah.
- Pencemaran prototipe dalam parser INI JavaScript yang menetapkan ke '__proto__'.
- Ekspansi rekursif nama bagian yang bersarang dalam dapat menyebabkan serangan penolakan layanan.
Praktik Terbaik Defensif: Bersihkan masukan pengguna untuk melarang karakter baris baru dan melindungi terhadap pencemaran prototipe (prototype pollution).
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- Sintaks yang luar biasa bersih dan intuitif: pengguna non-teknis dapat dengan mudah membaca dan memodifikasi pengaturan.
- API penguraian (parsing) bawaan di hampir setiap bahasa pemrograman (configparser Python, parse_ini_file PHP, C#).
- Ruang nama untuk tiap bagian mencegah benturan pengaturan antarfitur aplikasi.
Keterbatasan Teknis & Kekurangan
- Tidak ada standar internasional formal: karakter komentar (; atau #) dan aturan untuk meng-escape karakter berbeda-beda antarparser.
- Hierarki datar: tidak mendukung array bersarang dalam atau objek terstruktur kompleks tanpa pembatas kustom.
- Semua nilai dibaca sebagai string, yang mengharuskan aplikasi untuk mengurai sendiri bilangan bulat, boolean, dan float.
Fakta Teknis Menarik
- Di Windows 3.1, semua pengaturan sistem operasi disimpan hanya dalam dua file: WIN.INI dan SYSTEM.INI.
- Git menggunakan format INI untuk file konfigurasi repositori utamanya yang terletak di '.git/config'.
- File pintasan desktop di Linux (file XDG Desktop Entry '.desktop') disusun menggunakan sintaks INI standar.
Pertanyaan Teknis yang Sering Diajukan
Untuk apa file INI digunakan?
File INI digunakan oleh perangkat lunak desktop, game, dan alat pengembang (seperti konfigurasi Git dan PHP.ini) untuk menyimpan preferensi pengguna dan pengaturan konfigurasi dalam format yang mudah dibaca.
Bagaimana cara mengedit file INI?
Anda dapat membuka dan mengedit file INI dengan editor teks dasar seperti Notepad, TextEdit, atau VS Code, maupun langsung di File2File.app.
Bisakah saya mengonversi INI ke JSON atau YAML?
Ya. File2File.app dapat mengonversi file INI ke dalam format JSON, YAML, atau TOML yang bersih secara instan di peramban Anda.