Un jugement précis du codage des chaînes est crucial pour le traitement des données de texte à partir de différentes sources. Cet article explorera comment atteindre cet objectif efficacement en C #.
Il existe plusieurs façons de déterminer le codage d'une chaîne sans déclaration explicite:
combine les trois méthodes pour déterminer le codage d'une chaîne, dont la détection BOM. Si la nomenclature n'est pas trouvée, le code utilise un détecteur pour identifier heuristiquement des encodages communs tels que UTF-8 et UTF-16. Enfin, si aucun encodage approprié n'est trouvé, il retombera à la page de code par défaut du système.
Ce code détecte non seulement l'encodage, mais renvoie également le texte décodé pour fournir les informations requises en entier.
Le code C # suivant implémente cette solution:
public Encoding detectTextEncoding(string filename, out String text, int taster = 1000)
{
// 检查BOM
// 为简洁起见省略
// 基于探测器的编码检测
bool utf8 = false;
int i = 0;
while (i
Pour utiliser ce code, fournissez le chemin de fichier comme chaîne et récupérez le texte codé et décodé détecté comme paramètres de sortie. Voici un exemple:
`` C # Texte de chaîne; Encoding Encoding = DetectTexeDcoding ("my_file.txt", texte out); Console.WriteLine ("Détected Encoding:" Encoding.EncodingName); Console.WriteLine ("Texte décodé:" Texte); `` 'Dans l'ensemble, ce code fournit un moyen puissant de déterminer le codage des chaînes en C #, en tirant parti des vérifications BOM et heuristiques pour assurer une détection précise.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3