Question

Je besoin d'un moyen de détecter si un fichier contient des caractères d'un certain charset.

Plus précisément, je veux détecter la présence de caractères cyrilliques UTF8 codés dans une série de fichiers. Y at-il un outil pour le faire?

Merci

Était-ce utile?

La solution

Si vous êtes à la recherche de solution prête, vous pouvez essayer Enca .

Cependant, si vous voulez seulement pour détecter la présence de ce qui peut être éventuellement décodé en UTF-8 caractères cyrilliques (sans aucune vérification de validité UTF-8 complets), il vous suffit de grep pour quelque chose comme /(\xD0[\x81\x90-\xBF]|\xD1[\x80-\x8F\x91]){ n ,}/ (cette expression rationnelle exacte est pour n UTF8-ultérieurs caractères cyrilliques russes). Pour vérification supplémentaire que le fichier entier ne contient que des données valides UTF-8, vous pouvez utiliser quelque chose comme isutf8(1) .

Les deux méthodes ont leurs bons et mauvais côtés et peuvent parfois donner des résultats erronés.

Autres conseils

IIRC la bibliothèque de soins intensifs a du code qui fait la détection de jeu de caractères. Bien qu'il soit essentiellement une meilleure estimation de l'effort.

Edit: Je ne me souviens bien, consultez cette / tutoriel

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top