4 votes

Terminologie et concepts entourant l'utilisation des pages de code

Je suis en train de faire des recherches sur les pages de code et j'ai trouvé de nombreuses utilisations conflictuelles des termes, même parmi différentes entrées de Wikipédia. Je ne trouve tout simplement pas de source d'information qui détaille l'ensemble du processus de manipulation des caractères du début à la fin. Est-ce que quelqu'un qui connaît bien ce domaine pourrait suggérer des façons dont les informations suivantes sont inexactes ou incorrectes :

Le processus de représentation des caractères tel que je le comprends :

  • Nous commençons avec des ensembles de symboles (je ne suis pas sûr du terme correct, peut-être 'scripts') qui ne sont pas associés à une plateforme spécifique. Par exemple, l'alphabet cyrillique est compris de la même manière dans le contexte de Windows que dans Linux.

  • Les membres de ces ensembles sont sélectionnés, généralement par paquets, par les vendeurs pour former un jeu de caractères spécifique à une plateforme. La plateforme pourrait assigner divers codes à ces ensembles tels que des valeurs GDI sur Windows (par exemple 0 pour ANSI_CHARSET et les autres codes mentionnés ici: http://asa.diac24.net/wiki/index.php?title=ASS:fe&printable=yes). Je ne trouve pas beaucoup d'informations sur ces ensembles, comme par exemple s'ils sont en fait des jeux de caractères codés ou s'ils sont simplement désordonnés et abstraits.

  • A partir de ces ensembles, des pages de codes individuelles sont développées qui semblent avoir une relation de correspondance un à un avec les valeurs GDI. Puisque ces valeurs GDI semblent représenter des ensembles qui dépendent de la plateforme, est-ce que cela signifie que les pages de code Windows sont essentiellement une version codée de chaque ensemble individuel ?

J'ai du mal à concilier cette idée avec un lien qui m'a été montré plus tôt (que j'ai perdu) et qui montrait une correspondance de un à plusieurs entre ces ensembles de caractères GDI et les pages de codes sur différentes plateformes. Est-ce exact, est-ce que ces valeurs GDI pointent vers des ensembles à partir desquels différentes pages de codes sur différentes plateformes peuvent être développées ?

  • Chaque page de code fait correspondre un membre d'un ensemble de caractères abstrait à un entier pour représenter sa position dans l'ensemble. Dans le cas des pages de codes 'simplistes' mentionnées sur la page web ci-dessus, celles-ci peuvent être désignées en utilisant le terme plus précis de 'carte de caractères'. Est-il utile de considérer ce terme ou la distinction est-elle trop subtile et sans importance ?

  • Une police de caractères résout un point de code en un glyphe s'il en contient un pour ce point de code, sinon il signale un échec. J'ai également lu qu'une police de caractères peut renvoyer son propre glyphe vide pour les points de code qu'elle ne supporte pas. Est-ce qu'une application peut faire la différence entre ce glyphe vide et une résolution réussie, c'est-à-dire que la police renvoie un code d'erreur de sorte avec ce glyphe vide ?

Je pense que c'est l'étendue de ma confusion. Toute clarification à ce sujet serait inestimable. Merci d'avance.

0voto

Smokey.Canoe Points 334

Vous avez essentiellement raison :

  • Commencez par le nombre de caractères connus.
  • Sélectionnez un sous-ensemble de ces caractères (un jeu de caractères)
  • Mappez ces derniers en motifs binaires (page de code et encodage)
  • Affichez-les sur un périphérique de sortie en combinant le caractère avec un glyphe (c'est-à-dire en utilisant une police, un motif binaire et une page de code/encodage qui mappe le motif binaire au caractère).

À travers les plates-formes, il existe des pages de code similaires. Et même à travers de nombreuses pages de code, il existe des mappages similaires de valeur à caractère. Par exemple, Windows Latin, Mac Roman et Unicode partagent des caractères pour les 127 premières valeurs. Il y a une certaine normalisation (par exemple, http://en.wikipedia.org/wiki/Shift_JIS pour le japonais) des pages de code afin que les machines puissent interagir.

En général, pour un nouveau développement, vous devriez utiliser une page de code Unicode avec l'un des encodages populaires. UTF8 est populaire sur la plupart des systèmes modernes. UTF16LE est utilisé pour les appels système Windows se terminant par W.

0voto

Mihai Nita Points 2870

Cela pourrait être une bonne correspondance : http://mihai-nita.net/2006/08/06/basic-lingo/

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