Anar al contingut

ISO/IEC 10646

De L'Enciclopèdia, la wikipedia en valencià

Formes de codificar el Conjunt Universal de Caràcters

El ISO 10646 definix diverses «formes de codificació» de caràcters per al Conjunt Universal de Caràcters (Universal Character Set). La més simple és la denominada, UCS-2, que ampra un «valor de còdic» simple (definit com un o més números representant un punt de còdic) entre 0 i 65,535 per a cada caràcter, i permet exactament dos bytes (una paraula de 16-bit) per a representar el valor. El UCS-2 permet per lo tant una representació binaria de cada punt de còdic en el sistema BMP, fent que hi haja una correspondència biunívoca entre el valor i el punt de còdic que representa al caràcter. El UCS-2 no pot representar punts de còdic fora del conjunt BMP.

La primera esmena a l'edició original de el UCS es va definir com UTF-16, i era una extensió de el UCS-2, per a representar punts de còdic fora de el BMP. En l'actualitat existixen una zona especial de punts de còdic denominada S (Special) en el BMP que permaneix sense assignar a caràcters. El UCS-2 no permet amprar valors de còdic per a estos punts de còdic, pero UTF-16 permet l'ocupació dels mateixos en parells. Cada parell consistix en un "element-RC" (una tupla de dos octets que formen un R-octet i un C-octet d'una seqüència total de quatre octets que s'associa a una cela en l'espai de còdics assignats a caràcters). L'estàndart Unicode ha adoptat també el UTF-16, pero en la terminologia de Unicode, la mitat-alta de la zona d'elements es denomina "substitucions altes" i la mitat inferior de la taula es denomina "substitucions baixes".

Una atra codificació és l'UCS-4 que ampra un caràcter únic entre 0 i (teòricament) en hexadecimal fins a 7FFFFFFF per a ser assignat a cada caràcter (no obstant el UCS para a 10FFFF i la ISO/IEC 10646 té compromesa assignació futures de caràcters en este ranc). El UCS-4 permet representacions de cada valor per mig de l'ocupació exacta de quatre bytes (una paraula de 32-bits). El UCS-4 permet una representació binaria de cada punt de còdic en el sistema UCS, incloent aquells que estan fòra de el BMP. Com en el sistema de codificació de UCS-2, cada caràcter codificat posseïx una llongitut fixa en bytes.

Història de la ISO 10646

The International Organization for Standardization (ISO) va precisar el joc de caràcters en 1989 i va publicar un borrador denominat ISO 10646 en 1990. Hugh McGregor Ross va ser un dels principals ideadores i arquitectes d'este primer borrador. Aquell estàndart diferix prou de l'actual. Es definien en el primer borrador 128 grups de 256 plans i cada u d'ells de 256 columnes i 256 cèlules, en això es conseguia colocar aparentment 2 147 483 648 caràcters, pero en l'actualitat l'estàndart pot colocar només 679 477 248 caràcters, com les regles prohibixen valors de caràcters de control (0x00 fins a 0x1F i 0x80 fins a 0x9F, en notació hexadecimal). Per eixemple la lletra A tenen una posició en el grup 0x20, pla 0x20, columna 0x20, cèlula 0x41.

Es podien sifrar els caràcters d'este estàndart primordial de la ISO 10646 en una de tres maneres:

  1. UCS-4, quatre octets per a cada caràcter, permetent la codificació simple de tots els caràcters;
  2. UCS-2, dos octets per a cada caràcter, permetent la codificació del primer pla, 0x20, el pla multilingüe bàsic, contenint els primers 36.864 punts de còdic, directe, i atres plans i grups canviant a ells en ISO 2022 seqüències d'escape;
  3. UTF-1, que codifica tots els caràcters en seqüències d'octets de llongitut que varia (1 a 5 octets, que no contenen cap caràcter de control).


En 1990, varen eixir a la llum dos iniciatives per a crear un Conjunt de Caràcters Universal: Unicode, en 16 bits per a cada caràcter (65.536 caràcters possibles), i ISO 10646. Les companyies de software varen rebujar acceptar el requisit de la complexitat i del tamany de l'estàndart de ISO i varen conseguir convéncer a un número d'organismes nacionals de la ISO per a que votaren contra ell. Els estandarizadores de la ISO varen convindre que no podrien continuar recolzant l'estàndart en el seu estat actual i que negociarien l'unificació del seu estàndart en Unicode. Varen ocórrer dos canvis despuix d'esta situació: l'abandó de la llimitació sobre els caràcters (prohibició dels valors del caràcter de control), els caràcters aixina de permís fins a 0x0000101F; i la sincronisació del repertori del pla multilingüe bàsic en el de Unicode.

Mentrestant, en el pas del temps, la situació va canviar en el mateix estàndart de Unicode: els 65.536 caràcters varen escomençar a semblar escassos, i l'estàndart a partir de la versió 2.0 realisen la codificació d'1.112.064 caràcters per mig de la codificació UTF-16. Per eixa raó, la ISO 10646 va ser llimitada per a contindre tants caràcters com podien ser codificats per UTF-16, i no més. És dir, una miqueta sobre més d'un milló de caràcters en volta sobre de 2000 millons. La codificació UCS-4 de ISO 10646 va ser incorporada en l'estàndart de Unicode en la llimitació a la gama UTF-16 i baix el nom d'UTF-32. Sobre UTF-1, ningú ho va amprar, degut en part a la seua mala codificació del disseny (no existia forma de distinguir entre la funcionalitat dels octets, un problema similar a la codificiaació Shift-JIS del japonés) i la seua degradació de les prestacions (moltes operacions de divisió). Rob Pike i Ken Thompson, els dissenyadors del sistema operatiu Pla 9 de Bell Labs, varen idear un de nova, ràpida i ben dissenyada codificació d'ample-mixt, que es va denominar UTF-8.

Vore també