Quelque chose qui m'a longtemps dérouté, c'est que tant de logiciels utilisent les termes «charset» et «encoding» comme synonymes.
Lorsque les gens se réfèrent à un "codage" unicode, ils signifient toujours un ensemble de règles pour représenter les caractères unicode comme une séquence d'octets - comme ASCII ou UTF-8. Cela semble raisonnable et intuitif; l'idée est que vous "codez" ces caractères sous forme d'octets en utilisant l'ensemble de règles spécifié.
Étant donné que ces ensembles de règles ne fournissent parfois que la possibilité de «coder» un sous-ensemble de tous les caractères unicode, vous pourriez imaginer qu'un «jeu de caractères» - abréviation de «jeu de caractères» - signifierait simplement un ensemble de caractères unicode - sans aucune considération pour la façon dont ces caractères sont encodés. Un codage impliquerait donc un jeu de caractères (un codage comme ASCII, qui n'a que des règles pour coder 128 caractères, serait associé au jeu de caractères de ces 128 caractères) mais un jeu de caractères n'a pas besoin d'impliquer un codage (par exemple, UTF-8, UTF -16 et UTF-32 sont tous des encodages différents mais peuvent encoder le même jeu de caractères).
Pourtant - et voici le nœud de ma question - l'utilisation réelle du mot "charset" ne correspond pas à ce que la construction du mot impliquerait. Il est presque toujours utilisé pour signifier "encodage".
Par exemple:
- L'
charset
attribut en HTML est utilisé pour spécifier un encodage Charset
s en Java sont des encodagescharset
s etcharacter sets
dans MySQL sont, encore une fois, des encodages
Quel âge a cette curieuse (ab) utilisation du langage, et comment cette définition contre-intuitive de «charset» est-elle née? Est - il provient peut - être d'une époque où il vraiment était , dans la pratique, un à un entre les codages utilisés et des ensembles de caractères ils pris en charge? Ou y avait-il une norme ou une spécification particulièrement influente qui dictait cette définition du mot?
charset
antérieur à la norme Unicode, donc même s'il ne s'agissait pas d'un «mappage un à un», les caractères requis pour un document avaient tendance à forcer le choix de l'encodage. Mais je n'ai pas le temps de rechercher l'histoire réelle du mot ...