Pengaturan INI (.ini)
De StandarWindows Initialization Configuration (INI) adalah format file konfigurasi klasik yang mudah dibaca manusia yang dipopulerkan oleh Microsoft Windows, yang mengatur pengaturan aplikasi ke dalam [bagian] bernama yang berisi pasangan key=value.
Konversi INI ke JSON
Pengonversi INI ke JSON gratis di dalam peramban. Konversi berkas secara instan di perangkat Anda.
Periksa & Metadata
Sistem operasi dan penganalisis file mengidentifikasi file INI dengan memeriksa urutan byte biner utama:
Tanda Tangan Header Tingkat-Byte (Magic Bytes)
Sistem operasi dan penganalisis file mengidentifikasi file INI dengan memeriksa urutan byte biner utama:
SIGNATURE HEX (OFFSET 0):
5B ... 5DREPRESENTASI ASCII: [...]
Standardisasi: De facto industry configuration standard
Spesifikasi Teknis
| Arsitektur Wadah | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Kompresi | Uncompressed text file |
| Endianness Byte | UTF-8 or ANSI text stream |
| Ruang Warna | N/A (Configuration File) |
| Saluran & Struktur | Key-value configuration properties categorized by section namespaces |
| Dimensi Maks | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Transparansi | None |
| Streaming & Progresif | Sequential line-by-line streaming parser |
Matriks Perbandingan Teknis: INI vs Pesaing
| Atribut Teknis | INI (Saat Ini) | JSON | YAML | TOML |
|---|---|---|---|---|
| Kompleksitas Sintaks | Paling sederhana (bagian + key=val) | Tanda kurung & tanda kutip ketat | Spasi putih sensitif inden | Tabel bertuliskan modern |
| Dukungan Komentar | Asli (komentar ; dan #) | Tidak ada komentar yang didukung dalam spesifikasi | Asli (komentar #) | Asli (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 |
Mode Kerusakan Umum & Panduan Pemulihan Hex
Aplikasi mengabaikan pengaturan atau gagal dimulai.
Penyebab Utama: Kurung tajuk bagian yang hilang (misalnya '[Settings' alih-alih '[Settings]') atau tanda sama dengan yang tidak lolos dalam nilai.
Pemulihan: Validasi dan perbaiki sintaks INI menggunakan Pemformat Konfigurasi File2File.
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
- Injeksi INI di mana penyisipan baris baru dalam masukan pengguna membuat bagian konfigurasi yang tidak sah.
- Pencemaran prototipe dalam parser INI JavaScript yang menetapkan ke '__proto__'.
- Penolakan layanan (Denial of Service) melalui ekspansi nama bagian rekursif yang mendalam.
Praktik Terbaik Defensif:
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#).
- Namespace bagian mencegah tabrakan pengaturan di berbagai fitur aplikasi.
Keterbatasan Teknis & Kekurangan
- Tidak ada standar internasional formal: karakter komentar (; vs #) dan aturan pelepasan (escaping) bervariasi di antara parser.
- 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, setiap pengaturan tunggal di seluruh 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 apa pun seperti Notepad, TextEdit, VS Code, atau langsung secara online menggunakan 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.