Funktionreferenz


FileGetEncoding

Beschreibung anzeigen in

Ermittelt die Text-Kodierung einer Datei.

FileGetEncoding ( "filehandle/filename" [, mode = 1] )

Parameter

filehandle/filename Das Handle einer Datei, wie es durch einen vorherigen Aufruf von FileOpen() zurückgegeben wurde. Alternativ kann als erster Parameter auch ein Dateiname als Zeichenfolge verwendet werden.
mode [optional] Der zu nutzende UTF8 Erkennungsmodus.
    $FE_ENTIRE_UTF8 (1) = Untersucht ganze Dateien nach UTF8 Sequenzen. (Standard)
    $FE_PARTIALFIRST_UTF8 (2) = Untersucht den ersten Teil einer Datei nach UTF8 Sequenzen. (Der Gleiche, den FileOpen() standardmäßig nutzt)

Die Konstanten sind in FileConstants.au3 definiert.

Rückgabewert

Erfolg: Die Dateikodierung unter Verwendung der gleichen Werte wie die FileOpen() Funktion.
    $FO_UTF16_LE (32) = UTF16 Little Endian.
    $FO_UTF16_BE (64) = UTF16 Big Endian.
    $FO_UTF8 (128) = UTF8 (mit BOM).
    $FO_UTF8_NOBOM (256) = UTF8 (ohne BOM).
    $FO_ANSI (512) = ANSI (enthält die Zeichen > 127 und < 255)
Fehler: -1.

Die Konstanten sind in FileConstants.au3 definiert.

Bemerkungen

Wenn der Dateiname anstatt eines Dateihandles angegeben wird, wird die Datei während des Funktionsaufrufes nur geöffnet und geschlossen.
Achtung: Dateihandles und Dateinamen nicht gleichzeitig verwenden! Beispielsweise öffnet man die Datei nicht mit FileOpen() und benutzt dann den Dateinamen in dieser Funktion. Entweder man verwendet Dateihandles oder Dateinamen in den eigenen Routinen, nicht beides zusammen!

Wird ein Dateihandle verwendet, hat der "mode" Parameter keinen Effekt - der FileOpen() Modus ist vorrangig.

Verwandte Funktionen

FileOpen, FileRead, FileReadLine, FileWrite, FileWriteLine

Beispiel

#include <MsgBoxConstants.au3>

Example()

Func Example()
    Local $iEncoding = FileGetEncoding(@ScriptFullPath) ; Liest die Zeichenkodierung der Scriptdatei aus
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "Error", "Konnte keine Kodierung auslesen.")
    Else
        MsgBox($MB_SYSTEMMODAL, "FileGetEncoding", "Der zurückgegebene Wert ist: " & $iEncoding) ; Der zurückgegebene Wert für dieses Beispiel sollte 0 bzw. $FO_ANSI sein.
    EndIf
EndFunc   ;==>Example