INI Ayarları (.ini)
De StandartWindows Başlatma Yapılandırması (INI), Microsoft Windows tarafından popülerleştirilen, uygulama ayarlarını anahtar=değer çiftleri içeren adlandırılmış [bölümlerde] organize eden, klasik ve insan tarafından okunabilir bir yapılandırma dosyası formatıdır.
INI formatını JSON formatına dönüştür
Ücretsiz tarayıcı içi INI - JSON dönüştürücü. Dosyalarınızı cihazınızda anında dönüştürün.
İncele & Meta Veriler
İşletim sistemleri ve dosya çözümleyicileri, INI dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:
Bayt Düzeyinde Başlık İmzası (Magic Bytes)
İşletim sistemleri ve dosya çözümleyicileri, INI dosyalarını başlangıçtaki ikili bayt dizisini inceleyerek tanımlar:
HEX İMZASI (OFSET 0):
5B ... 5DASCII GÖSTERİMİ: [...]
Standardizasyon: De facto industry configuration standard
Teknik Özellikler
| Konteyner Mimarisi | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Sıkıştırma | Uncompressed text file |
| Bayt Düzeni (Endianness) | UTF-8 or ANSI text stream |
| Renk Uzayları | N/A (Configuration File) |
| Kanallar ve Yapı | Key-value configuration properties categorized by section namespaces |
| Maksimum Boyutlar | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Şeffaflık | None |
| Akış ve Aşamalı (Streaming & Progressive) | Sequential line-by-line streaming parser |
Teknik Karşılaştırma Matrisi: INI ve Rakipleri
| Teknik Nitelik | INI (Güncel) | JSON | YAML | TOML |
|---|---|---|---|---|
| Sözdizimi Karmaşıklığı | Mümkün olan en basit (bölüm + anahtar=değer) | Katı köşeli parantezler ve tırnaklar | Girintiye duyarlı boşluklar | Modern tiplendirilmiş tablolar |
| Yorum Desteği | Yerel (; ve # yorumları) | Spesifikasyonda yorum desteği yok | Yerel (# yorumları) | Yerel (# yorumları) |
| İç İçe Yapılar | Yalnızca 1 seviyeli bölümler | Sonsuz iç içe nesneler/diziler | Sonsuz iç içe ağaçlar | Yapılandırılmış tablo dizileri |
| Veri Tiplendirme | Örtük dizeler (uygulama tipleri ayrıştırır) | Açık sayılar, boole'lar, diziler | Açık tipler ve çapalar (anchors) | Açık tarihler, sayılar, diziler |
Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu
Uygulama ayarları yok sayıyor veya başlatılamıyor.
Kök Neden: Eksik bölüm başlığı köşeli parantezi (örn. '[Settings]' yerine '[Settings') veya değer içinde kaçış karakteri kullanılmamış eşittir işareti.
Kurtarma: File2File Config Formatter kullanarak INI sözdizimini doğrulayın ve düzeltin.
Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri
INI ayrıştırıcıları, nesnelere seri durumdan çıkarma (deserialization) sırasında bölüm enjeksiyon saldırılarına ve prototip kirlenmesine (prototype pollution) karşı koruma sağlamalıdır.
Bilinen Saldırı Vektörleri
- Kullanıcı girdisi içindeki yeni satır eklemenin yetkisiz yapılandırma bölümleri oluşturduğu INI enjeksiyonu.
- '__proto__' değerine atama yapan JavaScript INI ayrıştırıcılarında prototip kirlenmesi.
- Derinlemesine yinelemeli (recursive) bölüm adı genişletme yoluyla hizmet reddi (DoS).
Savunmacı En İyi Uygulamalar:
Tarihsel Kökenler ve Kilometre Taşları
Temel Avantajlar ve Artılar
- Son derece temiz, sezgisel sözdizimi: Teknik olmayan kullanıcılar ayarları kolayca okuyabilir ve değiştirebilir.
- Neredeyse tüm programlama dillerinde yerel ayrıştırma API'leri (Python configparser, PHP parse_ini_file, C#).
- Bölüm ad alanları (namespaces), farklı uygulama özellikleri arasında ayar çakışmalarını önler.
Teknik Kısıtlamalar ve Eksiler
- Resmi bir uluslararası standardı yoktur: Yorum karakterleri (; ve #) ve kaçış kuralları ayrıştırıcılar arasında değişiklik gösterir.
- Düz hiyerarşi: Özel sınırlayıcılar olmadan derinlemesine iç içe geçmiş dizileri veya karmaşık yapılandırılmış nesneleri desteklemez.
- Tüm değerler dize (string) olarak okunur; bu da uygulamaların tamsayıları, boole değerlerini (true/false) ve kayan noktalı sayıları (float) manuel olarak ayrıştırmasını gerektirir.
İlginç Teknik Bilgiler
- Windows 3.1'de işletim sisteminin içindeki her bir ayar yalnızca iki dosyada depolanıyordu: WIN.INI ve SYSTEM.INI.
- Git, '.git/config' konumunda bulunan birincil depo yapılandırma dosyası için INI formatını kullanır.
- Linux'taki masaüstü kısayol dosyaları (XDG Desktop Entry '.desktop' dosyaları) standart INI sözdizimi kullanılarak yapılandırılır.
Sıkça Sorulan Teknik Sorular
INI dosyası ne için kullanılır?
INI dosyaları; masaüstü yazılımlar, oyunlar ve geliştirici araçları (Git yapılandırması ve PHP.ini gibi) tarafından kullanıcı tercihlerini ve yapılandırma ayarlarını kolayca okunabilir bir formatta saklamak için kullanılır.
Bir INI dosyasını nasıl düzenleyebilirim?
Notepad, TextEdit, VS Code gibi herhangi bir temel metin düzenleyiciyle veya doğrudan File2File.app kullanarak çevrim içi olarak INI dosyalarını açıp düzenleyebilirsiniz.
INI dosyasını JSON veya YAML formatına dönüştürebilir miyim?
Evet. File2File.app, INI dosyalarını tarayıcınızda anında temiz JSON, YAML veya TOML formatlarına dönüştürebilir.