260 votes

Qu'est-ce que le format ANSI?

Qu'est-ce qu'un format encodé ANSI? Est-ce un format par défaut du système? En quoi diffère-t-il de l'ASCII?

295voto

Noldorin Points 67794

Le codage ANSI est un peu un terme générique utilisé pour se référer à la norme de la page de code sur un système, généralement de Windows. Il est plus correctement appelé Windows-1252 (au moins sur l'Ouest AMÉRICAIN et les systèmes, il peut représenter certains autres Windows code des pages sur d'autres systèmes). C'est essentiellement une extension du jeu de caractères ASCII en ce qu'il comprend tous les caractères ASCII avec un supplément de 128 codes de caractères. Cette différence est due au fait que "ANSI" encodage 8 bits plutôt que 7 bits ASCII est (ASCII est presque toujours codées aujourd'hui que les octets de 8 bits avec le bit de poids fort à 0). Voir l'article pour une explication de pourquoi ce codage est généralement considéré comme la norme ANSI.

Le nom de "ANSI" est un terme impropre, car il ne correspond à aucune norme ANSI, mais le nom est resté.

66voto

bobince Points 270740

Techniquement, ANSI doit être le même que l'US-ASCII. Il se réfère à la norme ANSI X3.4 standard, qui est tout simplement l' ANSI organisation ratifié la version de l'ASCII. Utilisation de haut-peu-jeu de caractères n'est pas définie en ASCII/ANSI que c'est un jeu de caractères 7 bits.

Cependant des années de mauvaise utilisation de l'expression par le DOS et par la suite Windows communauté a laissé sa signification pratique que "le système de page de codes de la machine qui est utilisée". Le système de page de codes est aussi parfois connu comme "cmb", puisque sur l'Asie de l'Est des systèmes qui peuvent être de plusieurs octets par l'encodage des caractères. Certaines pages de code pouvez même utiliser haut-peu-claire octets en tant que suiveur octets dans une séquence multi-octets, de sorte qu'il n'est même pas le strict compatible avec ASCII... mais même alors, il est toujours appelé "ANSI".

Sur l'US et de l'europe Occidentale paramètres par défaut, "ANSI" des cartes pour Windows page de code 1252. Ce n'est pas la même que la norme ISO-8859-1 (bien qu'il est tout à fait similaire). Sur les autres machines, il pourrait être n'importe quoi d'autre. Cela rend "ANSI" totalement inutile comme externes identificateur de codage.

41voto

Nemanja Trifunovic Points 17239

Strictement parlant, le codage ANSI n'existe pas. Le terme ANSI est utilisé pour plusieurs codages différents:

  1. ISO 8859-1
  2. Windows CP1252
  3. Codage actuel du système sur une machine Windows (dans la terminologie de l'API Win32).

17voto

Daniel Brückner Points 36242

ASCII juste définit un 7 bits de code de page avec 128 symboles. ANSI étend cette à 8 bits et il y a plusieurs pages de code pour les symboles de 128 à 255.

La désignation ANSI n'est pas juste, parce que c'est en fait la norme ISO/CEI 8859 norme qui définit des pages de ce code. Voir l'ISO/CEI 8859 de référence. Il y a 16 pages de code ISO/CEI 8859-1 à la norme ISO/IEC 8859-16.

Windows-1252 est encore une fois basé sur la norme ISO/CEI 8859-1 avec quelques modifications, principalement dans la gamme de la C1 contrôle de l'ensemble de la gamme de 128 à 159. Wikipedia indique que Windows-1252 est également désignée comme ISO-8859-1 avec un deuxième trait d'union entre l'ISO et 8859. (Incroyable! Qui fait quelque chose comme ça?!?)

6voto

Joey Points 148544

Fondamentalement, « ANSI » se réfère à la page de codes hérité sur Windows. Voir également un article de Raymond Chen sur ce sujet. Les 127 premiers caractères sont identiques en ASCII dans la plupart des pages de codes, les caractères supérieurs varient, cependant.

Toutefois, ANSI ne pas signifier automatiquement CP1252 ou Latin 1.

Toute confusion malgré vous doit simplement éviter ces questions aujourd'hui et utiliser le format Unicode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X