Pengaturan INI (.ini)

Standar Standar

Windows 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:

Pilih atau letakkan berkas di sini

Privat - file tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan berlangsung secara lokal di sandbox browser Anda.

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 ... 5D

REPRESENTASI ASCII: [...]

Standardisasi: Standar konfigurasi industri de facto

Spesifikasi Teknis

Arsitektur KontainerFile konfigurasi teks biasa dengan header [section] yang berisi pasangan key = value dan komentar (; atau #)
KompresiFile teks tanpa kompresi
Urutan ByteAliran teks UTF-8 atau ANSI
Ruang WarnaN/A (Configuration File)
Saluran & StrukturProperti konfigurasi key-value yang dikelompokkan menurut ruang nama bagian
Dimensi MaksimumBatas historis 64 KB pada Windows 16-bit; tidak terbatas pada implementasi modern
TransparansiNone
Streaming & ProgresifPengurai streaming berurutan baris demi baris

Perbandingan Teknis INI dengan Pesaing

Atribut TeknisINI (Saat Ini)JSONYAMLTOML
Kompleksitas SintaksPaling sederhana (bagian + key=val)Tanda kurung dan tanda kutip wajibSpasi yang sensitif terhadap indentasiTabel bertipe modern
Dukungan KomentarBawaan (komentar ; dan #)Spesifikasi tidak mendukung komentarBawaan (komentar #)Bawaan (komentar #)
Struktur BersarangBagian 1 tingkat sajaObjek/array bersarang tak terbatasPohon bersarang tak terbatasArray tabel terstruktur
Pengetikan DataString implisit (aplikasi mengurai tipe)Angka eksplisit, boolean, arrayTipe & jangkar eksplisitTanggal, 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

2000Pustaka standar Python menyertakan configparser untuk bekerja dengan berkas INI.
1995Windows 95 memperkenalkan Windows Registry untuk menggantikan file INI sistem monolitik (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 memperkenalkan WIN.INI sebagai database konfigurasi sistem operasi inti.

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.