Functions > FileDirDisk >


FileGetEncoding

Obtient l'encodage du texte utilisé dans un fichier.

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

Paramètres

filehandle/filename Le handle d'un fichier, tel que retourné par FileOpen(). Sinon, vous pouvez utiliser le chemin d'accès d'un fichier comme premier paramètre.
mode [optionnel] Le mode de détection UTF8 à utiliser.
    $FE_ENTIRE_UTF8 (1) = Vérifie la totalité du fichier pour des séquences UTF8 (par défaut)
    $FE_PARTIALFIRST_UTF8 (2) = Vérifie la première partie du fichier pour des séquences UTF8 (identique à la vérification par défaut de FileOpen())

Les constantes sont définies dan FileConstants.au3.

Valeur de retour

Succès: Retourne l'encodage du fichier en utilisant des valeurs similaires à la fonction FileOpen():
    $FO_UTF16_LE (32) = UTF16 Little Endian.
    $FO_UTF16_BE (64) = UTF16 Big Endian.
    $FO_UTF8 (128) = UTF8 (avec BOM).
    $FO_UTF8_NOBOM (256) = UTF8 (sans BOM).
    $FO_ANSI (512) = ANSI (contenant des caractères > 127 et < 255)
Échec: Retourne -1.

Remarques

Si un fichier est donné plutôt qu'un handle, le fichier sera ouvert puis fermé durant l'appel de fonction.
Note: Ne mélangez pas les handles de fichier et les noms de fichiers, par exemple, n'utilisez pas FileOpen() pour ensuite utiliser le nom du fichier dans cette fonction. Utilisez les handles ou les noms de fichiers dans votre routine, mais pas les deux.

Si un handle de fichier est utilisé alors le paramètre "mode" n'a aucun effet - Le mode utilisé pour FileOpen() prend la priorité.

En relation

FileOpen, FileRead, FileReadLine, FileWrite, FileWriteLine

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    Local $iEncoding = FileGetEncoding(@ScriptFullPath) ; Obtient l'encodage du fichier du script courant.
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Erreur: Impossible d'obtenir l'encodage du fichier.")
    Else
        MsgBox($MB_SYSTEMMODAL, "", "FileGetEncoding: La valeur returnée est: " & $iEncoding) ; La valeur renvoyée pour cet exemple doit être de 0 ou ANSI.
    EndIf
EndFunc   ;==>Example