2010-07-13 3 views
0

Quelle est l'importance du codage de fichier? La valeur par défaut pour Notepad ++ est ANSI, mais serait-il préférable d'utiliser UTF-8 ou quels problèmes peuvent survenir si vous n'utilisez pas l'un ou l'autre?Quelle est l'importance du codage de fichier?

+5

Cela dépend des caractères que vous souhaitez stocker dans le fichier. – ChrisF

+0

et ce qui va lire le fichier. –

+1

Veuillez préciser votre question plus précisément. –

Répondre

2

Si vous partagez des fichiers entre des systèmes utilisant des codages par défaut différents, un encodage Unicode est recommandé. Si vous ne le planifiez pas, ou n'utilisez que l'ensemble de caractères ASCII et ne travaillez pas avec des encodages qui, pour une raison quelconque, modifient ceux-ci (je ne peux pas en trouver pour le moment, mais on ne sait jamais ...), vous n'en avez pas vraiment besoin.

En aparté, c'est le genre de choses qui se produit lorsque vous ne l'utilisez un codage Unicode pour les fichiers avec des caractères non-ASCII sur un système avec un codage différent de celui que le fichier a été créé avec: http://en.wikipedia.org/wiki/Mojibake

0

Il est très important puisque votre whatevertool montrera de faux caractères/peu importe si vous utilisez un mauvais encodage. Essayez de charger un fichier kyrillic dans le Bloc-notes sans utiliser UTF-8 ou plus et voir beaucoup de "?" à venir. :)

3

Oui, il serait préférable que tout le monde utilise UTF-8 pour tous les documents toujours. Malheureusement, ce n'est pas le cas, principalement parce que les éditeurs de texte Windows (et de nombreux autres outils Win) ont la valeur par défaut "ANSI". C'est un nom trompeur car il n'a rien à voir avec ANSI X3.4 (aka ASCII) ou tout autre standard ANSI, mais en fait signifie la page de code par défaut du système de la machine Windows actuelle. Cette page de codes par défaut peut changer entre les machines, ou sur la même machine, à quel point tous les fichiers texte en "ANSI" qui ont des caractères non-ASCII comme des lettres accentuées vont se casser. Donc, vous devez certainement créer de nouveaux fichiers en UTF-8, mais vous devez être conscient que les fichiers texte que d'autres personnes vous donnent sont susceptibles d'être dans une collection hétéroclite de pages de codes spécifiques au pays.

La position de Microsoft est que les utilisateurs qui souhaitent un support Unicode doivent utiliser des fichiers UTF-16LE; même, de manière trompeuse, appelle ce codage simplement "Unicode" dans les menus d'encodage de la boîte de sauvegarde. MS a adopté cette approche parce que, dans les débuts de l'Unicode, on croyait que ce serait la façon la plus propre de le faire. Depuis ce temps:

  • Unicode a été étendu au-delà de points de code de 16 bits, en éliminant l'avantage de UTF-16 de chaque unité de code étant un point de code;

  • UTF-8 a été inventé, avec l'avantage qu'en plus de couvrir tout Unicode, il est rétrocompatible avec l'ASCII 7 bits (ce qui n'est pas le cas pour UTF-16) et pour cela raison pour laquelle il est aussi généralement plus compact.

La plupart du reste du monde (Mac, Linux, le web en général) a, en conséquence, déjà déplacé en UTF-8 comme un codage standard, évitant UTF-16 pour le stockage de fichiers ou à des fins de réseau. Malheureusement, Windows reste coincé avec la sélection archaïque et inutile des pages de code incompatibles qu'il avait dans les premiers jours de Windows NT. Il n'y a aucun signe de changement dans un proche avenir.

Questions connexes