INI -Datei
Dateiname Erweiterung | .ini |
---|---|
Internet -Medientyp | Text/Ebene, Anwendung/textedit, ZZ-Anwendung/Zz-winassoc-Ini |
Art des Formats | Initialisierungs-/Konfigurationsdatei |
Ein INI -Datei ist ein Konfigurationsdatei zum Computer Software Das besteht aus einem textbasierten Inhalt mit einer Struktur und einer Syntax, die umfasst Schlüssel -Wert -Paare für Eigenschaften und Abschnitte, die die Eigenschaften organisieren.[1] Der Name dieser Konfigurationsdateien stammt von der Dateiname Erweiterung Ini, zum Initialisierung, verwendet in der MS-DOS Betriebssystem, das diese Methode der Softwarekonfiguration populär gemacht hat. Das Format ist in vielen Kontexten der Konfiguration zu einem informellen Standard geworden Conf und CFG.[2]
Geschichte
Der Hauptmechanismus der Softwarekonfiguration in Fenster war ursprünglich ein Textdateiformat, das Textzeilen mit einem Schlüssel -Wert -Paar pro Zeile umfasste, das in Abschnitte organisiert wurde. Dieses Format wurde für Betriebssystemkomponenten wie Gerätetreiber, Schriftarten und Startwerfer verwendet. INI -Dateien wurden im Allgemeinen auch von Anwendungen verwendet, um einzelne Einstellungen zu speichern.[3]
Das Format wurde in 16-Bit gehalten Microsoft Windows Plattformen durch Windows 3.1x. Beginnen mit Windows 95 Microsoft bevorzugte die Verwendung der Windows -Registrierung und begann, Entwickler von der Verwendung von Ini -Dateien zur Konfiguration zu lenken. Alle nachfolgenden Windows -Versionen haben die Windows -Registrierung für die Systemkonfiguration verwendet. Anwendungen, die auf dem .NET -Framework basieren, verwenden speziell Xml .Config Dateien. Die Initialisierungs-Dateifunktionen sind weiterhin in Windows verfügbar und Entwickler können sie möglicherweise weiterhin verwenden.
Linux und Unix Systeme verwenden auch ein ähnliches Dateiformat für die Systemkonfiguration. Darüber hinaus kann die Plattform-Agnostic-Software dieses Dateiformat zur Konfiguration verwenden. es ist für Menschen lesbar und einfach zu analysieren, daher ist es ein verwendbares Format für Konfigurationsdateien, für die keine viel größere Komplexität erforderlich ist.
GIT -Konfigurationsdateien ähneln INI -Dateien.[4]
Php Verwendet das INI -Format für seine "Php.ini
"Konfigurationsdatei sowohl in Windows- als auch in Linux -Systemen.[5][6]
Desktop.ini Dateien bestimmen die Anzeige von Verzeichnissen in Windows, z. B. die Symbole für ein Verzeichnis.[7]
Beispiel
Die folgende Beispieldatei enthält zwei Abschnitte: einen für den Eigentümer der Software und eine für eine Lohn- und Gehaltsabrechnungsdatenbankverbindung. Kommentare erfassen Sie die letzte Person, die die Datei und den Grund für die Änderung geändert hat.
; zuletzt geändert 1. April 2001 von John Doe [Eigentümer] Name = John Doe Organisation = ACME Widgets Inc. [Datenbank] ; Verwenden Sie die IP -Adresse, falls der Netzwerkname -Auflösung nicht funktioniert Server = 192.0.2.62 Hafen = 143 Datei = "Gehaltsabrechnung"
Format
INI ist ein informelles Format mit Merkmalen, die von Parser zu Parser (INI -Dialekte) variieren. Einige Merkmale werden über verschiedene Parsers als andere geteilt und können als harte Kern des Formats angesehen werden (z. B. Quadratklammern für Abschnitte, Newlines für die Abgrenzung verschiedener Knoten usw.). Versuche, Parser zu erstellen, die in der Lage sind, so viele Dialekte wie möglich zu unterstützen, existieren,[8] und in seiner fortschrittlichsten Form kann das INI -Format ein Baumobjekt mit einer Leistung ausdrücken, die mit der anderer strukturierter Formate (JSON, XML) unter Verwendung einer entspannteren Syntax vergleichbar ist.
Stabile Funktionen
Schlüssel (Eigenschaften)
Das in einer INI -Datei enthaltene grundlegende Element ist die Schlüssel oder Eigentum. Jeder Schlüssel hat einen Namen und einen Wert, abgrenzt durch eine Gleiches Zeichen (=). Der Name erscheint links vom gleichen Zeichen. In der Windows -Implementierung sind das gleiche Zeichen und das Semikolon reservierte Zeichen und können nicht im Schlüssel angezeigt werden. Der Wert kann jedes Zeichen enthalten.
Name = Wert
Die Führung und Verlauf von Weißwäschen um die Außenseite des Eigenschaftsnamens werden ignoriert.
Abschnitte
Schlüssel kann, aber nicht, in willkürlich benannt werden Abschnitte. Der Abschnittsname erscheint in einer Zeile für sich selbst in eckige Klammern ([ und ]). Alle Schlüssel nach der Abschnittserklärung sind mit diesem Abschnitt verbunden. Es gibt keinen expliziten "Ende des Abschnitts" -Ergrenzwerts; Die Abschnitte enden bei der nächsten Abschnittserklärung oder am Ende der Datei. Abschnitte können nicht verschachtelt werden.
[Sektion] Key1 = a Key2 = b
Fallempfindlichkeit
Abschnitt und Eigenschaftsnamen sind nicht Fallempfindlichkeit in der Windows -Implementierung,[9] Aber andere Anwendungen können sich unterschiedlich verhalten.
Kommentare
Semikolons (;) Zu Beginn der Linie zeigen a Kommentar. Kommentarlinien werden ignoriert.
; Kommentartext
Reihenfolge der Abschnitte und Eigenschaften
Die Reihenfolge der Eigenschaften in einem Abschnitt und die Reihenfolge der Abschnitte in einer Datei ist irrelevant.
Unterschiedliche Merkmale
Da das INI -Dateiformat nicht starr definiert ist, unterstützen viele Parser Merkmale über die bereits beschriebenen Grundlagen hinaus. Das Folgende ist eine Liste einiger gängiger Merkmale, die möglicherweise sein können oder nicht implementiert in einem bestimmten Programm.
Globale Eigenschaften
Optionale "globale" Eigenschaften können ebenfalls zulässig sein, die vor dem Deklarieren eines Abschnitts deklariert werden.[10]
Name/Wert -Trennzeichen
Einige Implementierungen erlauben einen Dickdarm (:
) als Name/Wert -Abgrenzer (anstelle des gleichen Vorzeichens). Whitespace wird gelegentlich in der Linux -Welt verwendet.[8]
Hierarchie (Abschnitt Nisting)
Einige Parser erlauben das Verschachteln der Abschnitte mit Punkten als Pfadgrenzer:
[Sektion] Domain = Wikipedia.org [Abschnitt.Subsection] Foo = Bar
In einigen Fällen wird auch eine relative Verschachtelung unterstützt, wobei ein führender Punkt das Nisten zum vorherigen Abschnitt ausdrückt:[8]
[Sektion] Domain = Wikipedia.org [.Subsection] Foo = Bar
Historisch gesehen gab es auch Möglichkeiten zur Ausdrucksnistalternative zum Punkt (z. B. die Treiberdatei von IBM für Microsoft Windows DevList.ini
, in dem die Backslash wurde als Nisttrennzeichen in Form von verwendet [ABC]
; oder Microsoft Visual Studio's Aemanagr.ini
Datei, die eine völlig andere Syntax in Form von verwendete [EIN]
und B, c, p = v
). Einige Parser boten überhaupt keine Nistpfeiler an und waren hierarchieblind, aber das Nesting konnte immer noch teilweise emuliert werden, indem die Tatsache ausgenutzt wurde [ABC]
stellt eine eindeutige Kennung dar.
Kommentare
Einige Software unterstützt die Verwendung der Nummernschild (#) Alternative zum Semikolon für die Angabe von Kommentaren, insbesondere unter Unix, wo es spiegelt Hülse Kommentare. Das Zahlenzeichen kann in anderen Dialekten im Schlüsselnamen enthalten sein und als solche ignoriert werden. Beispielsweise kann die folgende Zeile als Kommentar in einem Dialekt interpretiert werden, erstellen jedoch eine Variable mit dem Namen "#var" in einem anderen Dialekt. Wenn der Wert "#var" ignoriert wird, würde er eine Pseudoimplementierung eines Kommentars bilden.
#var = a
In einigen Implementierungen kann ein Kommentar überall in einer Zeile nach einem Raum (Inline -Kommentare) beginnen, einschließlich derselben Zeile nach Eigenschaften oder Abschnittserklärungen.
var = a ; Dies ist ein Inline -Kommentar Foo = Bar # Dies ist ein weiterer Inline -Kommentar
In anderen, einschließlich der Winapi Funktion GetPrivateProfilestring, Kommentare müssen selbst auf Zeilen auftreten.
Doppelte Namen
Die meisten Implementierungen unterstützen nur eine Eigenschaft mit einem angegebenen Namen in einem Abschnitt. Das zweite Ereignis eines Eigenschaftsnamens kann eine verursachen abbrechenEs kann ignoriert werden (und der Wert verworfen) oder das erste Ereignis (wobei der erste Wert verworfen) überschreibt. Einige Programme verwenden doppelte Eigenschaftsnamen, um mehrwertige Eigenschaften zu implementieren.
Die Interpretation mehrerer Abschnittserklärungen mit demselben Namen variiert ebenfalls. In einigen Implementierungen verschmelzen doppelte Abschnitte einfach ihre Eigenschaften, als ob sie zusammenhängend aufgetreten sind. Andere können einen Aspekt der INI -Datei abbrechen oder ignorieren.
Zitierte Werte
Einige Implementierungen ermöglichen es, Werte zu zitieren, typischerweise verwendet Anführungszeichen und/oder Apostrophe. Dies ermöglicht eine explizite Deklaration von Whitespace und/oder zum Zitieren von Sonderzeichen (gleichem Semikolon usw.). Die Standard -Windows -Funktion GetPrivateProfilestring Unterstützt dies und entfernen Anführungszeichen, die die Werte umgeben.
Flucht Charaktere
Einige Implementierungen bieten unterschiedliche Unterstützung für eine Escape-Zeichentypisch mit dem Backslash (\
) folgt dem C Syntax. Einige Unterstützung "Linienanleitung", wobei ein Backslash unmittelbar von EOL (End-of-Line-Ende) verfolgt, wird der Zeilenumbruch ignoriert, und die "logische Linie" wird in der nächsten tatsächlichen Zeile aus der INI-Datei fortgesetzt. Es ist auch eine Implementierung verschiedener "Sonderzeichen" mit Fluchtsequenzen zu sehen.[11]
Reihenfolge | Bedeutung |
---|---|
\\ | \ (ein einzelnes Backslash, entkommen dem Fluchtcharakter) |
\ ' | Apostroph |
\ " | Anführungszeichen |
\0 | Nullcharakter |
\a | Glocke/Alarm/Audible |
\b | Rücktaste, Glockenfigur für einige Anwendungen |
\t | Tab -Zeichen |
\r | Kutschenrückkehr |
\n | Zeilenvorschub |
\; | Semikolon |
\# | Nummernschild |
\ = | Gleiches Zeichen |
\: | Doppelpunkt |
\x???? | Unicode Charakter mit hexadezimal Codepunkt korrespondierend zu ???? |
Zugriff auf Ini -Dateien
Unter Windows die Profil -API Ist die Programmierschnittstelle zum Lesen und Schreiben von Einstellungen aus klassischen Windows -.ini -Dateien. Zum Beispiel die GetPrivateProfilestring Funktion ruft eine Zeichenfolge aus dem angegebenen Abschnitt in einer Initialisierungsdatei ab. (Das "private" Profil steht im Gegensatz zu GetProfileString
, was abreißt von Win.ini.))
Die folgende Probe C Das Programm zeigt die Lesungseigenschaftswerte aus der obigen Beispiel -Ini -Datei (lassen Sie den Namen der Konfigurationsdatei sein dbettings.ini
):
#enthalten int hauptsächlich(int argc, _Tchar *argv[]) { _Tchar dbserver[1000]; int dbport; GetPrivateProfilestring("Datenbank", "Server", "127.0.0.1", dbserver, Größe von(dbserver) / Größe von(dbserver[0]),, ".\\dbettings.ini "); dbport = GetPrivateProfileInt("Datenbank", "Hafen", 143, ".\\dbettings.ini "); // n.b. WritePrivateProfileInt () existiert nicht Rückkehr 0; }
Der dritte Parameter der GetPrivateProfilestring -Funktion ist der Standardwert, der "127.0.0.1" bzw. 143 in den oben genannten Funktionsaufrufen beträgt. Wenn das für diesen Parameter gelieferte Argument null ist, ist die Standardeinstellung eine leere Zeichenfolge "".
Unter UNIX gibt es viele verschiedene Konfigurationsbibliotheken, um auf INI -Dateien zuzugreifen. Sie sind oft bereits in Frameworks und Toolkits enthalten. Beispiele für INI -Parsers für UNIX umfassen Glib, Iniparser und libconfini.
Vergleich von Ini -Parsers
Name | Abschnitte Unterstützung | Abschnitt Nisting Support | Erkennung behinderte Eingabe[12] | Multi-Line-Unterstützung[13] | Werttypen | Unterstützung lesen/schreiben | Plattform | Lizenz | Programmiersprache | Neueste Versionsversion |
---|---|---|---|---|---|---|---|---|---|---|
ConfigParser[14][15] | Ja | Ja | Nein | Nicht standardmäßig[16] | Boolesche, Nummer, Saite | Lesen + Schreiben | *BSD, Linux, Mac OS, Fenster | PSFL | C (Implementierung), Python (Verwendungszweck) | 3.9.7[17] |
Glib[18] | Ja | Ja | Nein | Nein | Boolesche, Nummer, Saite, Array | Lesen + Schreiben | *BSD, Linux, Mac OS, Fenster | LGPL | C | 2.66,7 (11. Februar 2021[±][19] | )
Inifile[21] | Ja | Nein | Nein | Nein | Boolesche, Nummer, Saite | Lesen + Schreiben | *BSD, Linux, Mac OS, Fenster | Apache | gehen | 1.2.0[22] |
inih[23] | Ja | Nein | Nein | Nicht standardmäßig[24] | Boolesche, Nummer, Saite | Lesen | *BSD, Linux, Mac OS, Fenster | BSD | C | 53[25] |
Iniparser[26] | Ja | Nein | Nein | Ja | Boolesche, Nummer, Saite | Lesen + Schreiben | *BSD, Linux, Mac OS, Fenster | MIT | C | 4.1[27] |
Java (über java.util.properties )[28] | Nein | Nein | Nein | Ja | Saite | Lesen + Schreiben | Plattform-Agnostic | Dual-Lizenz: Gpl Version 2 mit Ausnahme von Klassenpfad,[29] und ein proprietär Lizenz.[30] | C (Implementierung), Java (Verwendungszweck) | 18.0.1.1 (2. Mai 2022[±] 17.0.3.1 Lts (2. Mai 2022 ) [±] | )
libconfini[33] | Ja | Ja | Ja | Ja | Boolesche, Nummer, Saite, Array | Lesen | *BSD, Linux, Mac OS, Fenster | Gpl | C | 1.16.2[34] |
Php (über Parse_ini_file () )[35] | Ja | Ja | Ja | Nein | Nummer, Saite, Null | Lesen | Linux, Mac OS, Fenster | PHP -Lizenz v3.01[36] | C (Implementierung), Php (Verwendungszweck) | 7.4.30[37] (9. Juni 2022 )) |
Pyini[38] | Ja | Nein | Ja | Ja | Boolesche, Nummer, Saite | Lesen + Schreiben | Plattform-Agnostic | Gpl | Python | 1.0[39] |
Rudeconfig[40] | Ja | Nein | Nein | Nein | Boolesche, Nummer, Saite | Lesen + Schreiben | Linux, Fenster | Gpl | C ++ | Eingestellt - letzte Version ist 5.0.5 ab November 2009[41] |
Windows -API | Ja | Nein | Nein | Nein | Nummer, Saite, Struktur | Read + Write (nicht zerstörerisch) | Fenster | Proprietär | C | 21H2 (10.0.22000.832) (21. Juli 2022[42]) [±] |
Wein (Implementierung von Windows -API)) | Ja | Nein | Nein | Nein | Nummer, Saite, Struktur | Read + Write (nicht zerstörerisch) | Linux, Mac OS, Fenster | LGPL | C | 7.0[43] 18. Januar 2022 |
Name | Abschnitte Unterstützung | Abschnitt Nisting Support | Erkennung behinderte Eingabe | Multi-Line-Unterstützung | Werttypen | Unterstützung lesen/schreiben | Plattform | Lizenz | Programmiersprache | Neueste Versionsversion |
Dateizuordnung
Die Initialisierungsdateizuordnung erstellt eine Zuordnung zwischen einer INI -Datei und der Datei Registrierung.[44][45] Es wurde mit Windows NT und Windows 95 eingeführt, um vom Speichern von Einstellungen in klassischen .ini -Dateien auf die Neue zu migrieren Windows -Registrierung. Dateizuordnung fängt die Profil -API -Aufrufe und verwenden Einstellungen aus der Inifilemapping
Der Abschnitt "Registrierung", leitet und schreibt an geeignete Orte in der Registrierung.
Mit dem folgenden Beispiel kann ein String -Anruf getätigt werden, um das abzurufen Name Schlüssel aus dem Eigentümer Abschnitt aus einer Einstellungsdatei mit dem Namen beispielsweise, beispielsweise, dbettings.ini. Der zurückgegebene Wert sollte die Zeichenfolge "John Doe" sein:
GetPrivateProfilestring ("Besitzer", "Name", ..., "C: \\ Programme \\ OldProgram \\ dbettings.ini");
Ini Mapping enthält diesen Profil -API -Anruf, ignoriert einen Pfad im angegebenen Dateinamen und überprüft, ob ein Registrierungsschlüssel vorhanden ist, der dem Dateinamen im Verzeichnis entspricht:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ Currentversion \ Inifilemapping
Wenn dies vorhanden ist, wird nach einem Eintragsnamen gesucht, der dem angeforderten Abschnitt entspricht. Wenn ein Eintrag gefunden wird, verwendet INI -Mapping seinen Wert als Zeiger auf einen anderen Teil der Registrierung. Anschließend wird die angeforderte Ini -Einstellung in diesem Teil der Registrierung nachgeschlagen.
Wenn kein passender Eintragsname gefunden wird und es einen Eintrag unter dem gibt (Standard)
Eingabenname, INI -Mapping verwendet dies stattdessen. Daher benötigt jeder Abschnittsname keinen eigenen Eintrag.
Hkey_local_maachine \ software \ ... \ inifilemapping \ dbettings.ini | |
---|---|
(Standard) | @USR: Software \ OldProgs \ Inisettings \ All |
Datenbank | USR: Software \ OldProgs \ Inisettings \ db |
In diesem Fall ist der Profilaufruf für den Abschnitt [Eigentümer] durch::
Hkey_current_user \ software \ oldProgs \ Inisettings \ All | |
---|---|
Name | John Doe |
Organisation | ACME -Produkte |
bei dem die "Name
"Registrierungseintragsname entspricht dem angeforderten INI -Schlüssel. Der Wert von" John Doe "wird dann an den Profilaufruf zurückgegeben. In diesem Fall verhindert das @ -Präfix auf der Standardeinstellung alle Lesevorgänge, wenn Sie zur DBSettings.ini -Datei auf gehen Festplatte. Das Ergebnis ist, dass in der INI -Datei keine Einstellungen in der Registrierung nicht gesucht werden.
Das "Datenbank
"Der Registrierungseintrag enthält nicht das @ -Präfix für den Wert; somit für den Abschnitt [Datenbank] nur, Einstellungen in der Registrierung werden zunächst gefolgt von Einstellungen in der dbettings.ini -Datei auf der Festplatte.
Alternativen
Beginnen mit Windows 95Microsoft begann stark für die Verwendung der Windows -Registrierung über die INI -Datei.[46] INI -Dateien sind in der Regel auf zwei Ebenen (Abschnitte und Eigenschaften) begrenzt und verarbeiten Binärdaten nicht gut. Diese Entscheidung war jedoch nicht immun gegen Kritik, da die Registrierung monolithisch, undurchsichtig und binär ist, mit dem Dateisystem synchronisiert sein muss und einen einzelnen Ausfallpunkt für das Betriebssystem darstellt.[47]
Später Xml-Basierte Konfigurationsdateien wurden zu einer beliebten Wahl für die Codierungskonfiguration in Textdateien. XML ermöglicht willkürlich komplexe Werte und Verschachtelung und verfügt über Standardmechanismen für die Codierung Binärdaten.
In jüngerer Zeit, Datenserialisierung Formate wie z. JSON, Toml, und Yaml kann als Konfigurationsformate dienen. Diese drei alternativen Formate können willkürlich nisten, haben jedoch eine andere Syntax als die INI -Datei. Unter ihnen ähnelt Toml in INI am besten, aber die Idee, Toml absichtlich mit einer großen Teilmenge von INI kompatibel zu machen, wurde abgelehnt.[48]
Die neuesten INI -Parser ermöglichen jedoch das gleiche willkürliche Nesting von Xml, JSON, Toml, und Yamlbieten eine gleichwertige Unterstützung von Typisierte Werte und UnicodeObwohl der "informelle Status" von INI -Dateien behalten, indem mehrere Syntaxe für das Gleiche ausgedrückt werden.[49]
Siehe auch
- Boot.ini
- Msconfig
- Sysedit
- System.ini
- Toml, ein sehr ähnliches, aber formal spezifizierteres Konfigurationsdateiformat
- Win.ini
- Amiga's IFF Dateien
- .DS Store
- .Eigenschaften
Verweise
- ^ Microsoft TechNet: Konfigurieren eines INI -Dateielements
- ^ .Conf -Initialisierungsdateien
- ^ Microsoft: Windows NT Workstation Resource Kit
- ^ Git-Config-Konfigurationsdatei [1]
- ^ Rasmus Lerdorf, Kevin Tatroe, Peter MacIntyre."PHP programmieren". Abschnitte "Parse_ini_file", "Erweiterung ini -Einträge" usw.
- ^ Christian Wenz."PHP und MySQL -Phrassebook". Abschnitt "Ini -Dateien analysieren". Zitat: "... Das INI -Dateiformat ... wurde in der Windows -Welt sehr weit verbreitet, aber heute auch die Konfiguration von Softwareprodukten wie Php. Zum Beispiel ...
Php.ini
" - ^ Codrut neagu, "Warum gibt es zwei Desktop.ini -Dateien auf meinem Desktop und was machen sie?".
- ^ a b c Libconfinis Bibliotheksfunktion Handbuch
- ^ "GetPrivateProfilestring -Funktion". Microsoft Developer Network. Microsoft. Abgerufen 2012-06-02.
- ^ Apache -Dokumentation für org.apache.commons.configuration2.iniconfiguration, Die Apache Software Foundation
- ^ Cloanto -Implementierung
- ^ Es ist eine übliche Praxis unter den Autoren von INI -Dateien, unerwünschte Einträge zu "kommentieren", um sie zu deaktivieren, anstatt sie vollständig zu entfernen. Siehe den Schlüssel
a
Im folgenden Beispiel:[Sektion]
#a = a
B = b - ^ Die Standardsyntax für die Liniendauer bezieht sich hier auf die Abfolge von a Backslash gefolgt von Zeilenumbruch, wie von Iniparser, libconfini und implementiert
java.util.properties
- ^ Fredrik Lundh."Python Standard Library". 2001. Abschnitt "Das Konfigurationsmodul". p. 143
- ^ "ConfigParser - Konfigurationsdatei -Parser".
- ^ Befolgen Sie die Syntax der Sprache, mit der sie arbeiten soll (Python) Um einen Knoten über mehrere Zeilen zu überspannen, erfordert configParser eine tiefere Vertiefung in den folgenden Zeilen statt der gemeinsameren Backslash + Zeilenumbruch (sehen: configParser - Konfigurationsdatei -Parser)
- ^ Python -Dokumentation nach Version
- ^ Glibschlüssel -Wert -Datei -Parser
- ^ Withnall, Philip (11. Februar 2021). "Glib 2.66.7". GNOME FTP-Release (Mailingliste). Abgerufen 12. Februar 2021.
- ^ Veröffentlichungen · gnom/glib
- ^ Inifile -Dokumentation
- ^ Veröffentlichungen · Inifile
- ^ Inih Readme
- ^ Verwenden der Einführung, explizit nach dem Ansatz von ConfigParser (siehe Dokumentation des Projekts für weitere Informationen)
- ^ Veröffentlichungen · Benhoyt/Inih
- ^ Iniparser -Dokumentation
- ^ Veröffentlichungen · ndevilla/iniparser
- ^ Eigenschaften (Java -Plattform SE 8)
- ^ "OpenJDK: GPLV2 + ClassPath -Ausnahme". Openjdk.java.net. 1989-04-01. Abgerufen 2016-02-09.
- ^ "BCL für Java SE". Oracle.com. 2013-04-02. Abgerufen 2016-02-09.
- ^ "JDK veröffentlicht". Oracle Corporation. Abgerufen 2022-01-21.
- ^ "JDK veröffentlicht". Oracle Corporation. Abgerufen 2022-01-21.
- ^ Libconfini -Dokumentation
- ^ Veröffentlichungen · madmurphy/libconfini
- ^ Php. "
Parse_ini_file ()
- Analysieren einer Konfigurationsdatei ". Offizielle PHP -Dokumentation. Abgerufen 2022-07-19. - ^ PHP -Lizenz v3.01[2]
- ^ "Version 7.4.30". 9. Juni 2022. Abgerufen 11. Juni 2022.
- ^ Pyini
- ^ Tags · Whoatemybutter / Pyini
- ^ RUDECONFIG -Dokumentation
- ^ Veröffentlichungen · rudeconfig
- ^ "21. Juli 2022 - KB5015882 (OS Build 22000.832)". Microsoft -Unterstützung. Microsoft. 21. Juli 2022.
- ^ "Wein 7.0 freigelassen". 18. Januar 2022. Abgerufen 18. Januar 2022.
- ^ Initialisierungsdateien und die Registrierung, Windows NT Workstation Resource Kit, Microsoft Technet
- ^ Verwaltung der NT -Registrierung, Verwalten der Windows NT -Registrierung, Paul Robichaux, O'Reilly Media
- ^ Das Systemregister
- ^ War die Windows -Registrierung eine gute Idee? - Horror codieren
- ^ "Kommentar zu" .ini Kompatibilität ist ein würdiges Ziel "Problem auf Github".
- ^ libconfini/readme
- Infobox - http://filext.com/file-extsion/ini
- Infobox - https://wikiext.com/ini
Externe Links
- Libconfinis Bibliotheksfunktion Handbuch: Die von libconfini zugelassene Syntax.
- Cloanto -Implementierung des INI -Dateiformats: Die jeweilige Syntax, die von einem von Cloanto implementierten Parser zulässig ist.
- Eine sehr einfache Datendatei Metaformat: Ini Parser Tutorial in Apache Groovy.
- Microsoft's GetPrivateProfilestring () und WritePrivateProfilestringa () Funktionen