Maison > développement back-end > C++ > Comment puis-je déterminer avec précision l'encodage d'un fichier en C# ?

Comment puis-je déterminer avec précision l'encodage d'un fichier en C# ?

Linda Hamilton
Libérer: 2025-01-17 01:41:08
original
208 Les gens l'ont consulté

How Can I Accurately Determine a File's Encoding in C#?

Identifier avec précision l'encodage des fichiers en C#

Déterminer avec précision l'encodage d'un fichier est crucial pour un traitement correct des données. Bien que StreamReader.CurrentEncoding échoue parfois, une méthode plus robuste consiste à analyser la marque d'ordre des octets (BOM). Cette approche, similaire à celle utilisée dans Notepad , offre une plus grande précision.

Exploiter la marque d'ordre des octets (BOM)

La présence d'une nomenclature facilite considérablement l'identification du codage. Les valeurs de nomenclature suivantes correspondent à des encodages spécifiques :

  • UTF-7 : 0x2b, 0x2f, 0x76
  • UTF-8 : 0xef, 0xbb, 0xbf
  • UTF-32LE : 0xff, 0xfe, 0x00, 0x00
  • UTF-16LE : 0xff, 0xfe
  • UTF-16BE : 0xfe, 0xff
  • UTF-32BE : 0x00, 0x00, 0xfe, 0xff

Si aucune nomenclature n'est détectée, le code par défaut est ASCII pour éviter les erreurs.

Implémentation de code C# pour l'analyse de nomenclature

Le code C# suivant illustre cette détection d'encodage basée sur la nomenclature :

<code class="language-csharp">public static Encoding GetEncoding(string filename)
{
    byte[] bom = new byte[4];
    using (FileStream file = new FileStream(filename, FileMode.Open, FileAccess.Read))
    {
        file.Read(bom, 0, 4);
    }

    // BOM analysis logic (see complete implementation below)

    return Encoding.ASCII; // Default to ASCII if no BOM is found
}</code>
Copier après la connexion

Cette fonction lit efficacement les octets initiaux du fichier et les utilise pour déterminer l'encodage. Une implémentation complète de l'analyse de la nomenclature suivrait alors, traitant chaque cas de nomenclature individuellement pour renvoyer l'objet Encoding approprié. Cela garantit une détection fiable de l'encodage dans différents formats de fichiers texte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal