ISO/IEC 10646, eller Universal Coded Character Set eller Universal Multiple-Octet Coded Character Set är en internationell standard för teckenkodning. Arbetet med ISO/IEC 10646 började synkroniseras 1991 med Unicode-standarden som gjorts av ett antal datorleverantörer sammanslutna i Unicode-konsortiet. Den första publicerade versionen var färdig 1993 och ett antal nya utgåvor av standarden har publicerats sedan dess. Arbetet med både Unicode och ISO/IEC 10646 är synkroniserat och ISO-standarden har samma teckenuppsättning, teckenkoder och teckennamn som Unicode.

ISO/IEC 10646 definierar en grundläggande teckenuppsättning, Universal Coded Character Set, UCS, och ett antal kodningar av denna. Kodningen UCS-4 omfattar hela UCS och där varje tecken representeras av ett 32-bitars tal (i praktiken samma som Unicodes UTF-32). UCS-2 omfattar endast de första 65536 tecknen i UCS och som representeras av ett 16-bitars tal. UCS-2 är föråldrad, då tecken allokerats som har fått kodpunkter större än 65535. UTF-16 är en utvidgning av UCS-2, och täcker i praktiken in hela UCS. UTF-8 är en multibyte-utvidgning av ASCII.

Förkortningen av Universal Coded Character Set är ”UCS” med ett C, inte ”UCCS”, trots att ordet ”Coded” nu ingår i det officiella namnet.[1]

Unicode- (och ISO/IEC 10646) kodningar redigera

  • UTF-8.
  • UTF-16, UTF-16BE, UTF-16LE.
  • UTF-32, UTF-32BE, UTF-32LE. Refereras till som UCS-4 i ISO/IEC 10646.
  • UTF-EBCDIC (icke-officiell kodning).
  • SCSU (icke-officiell kodning).
  • BOCU-1 (icke-officiell kodning).
  • Punycode (en TES avsedd endast för internationaliserade domännamn).

Unicode 4.1 (och ISO/IEC 10646:2003 plus Amd 1 och 2) i siffror redigera

Det finns 237 299 tilldelade kodpositioner in Unicode version 4.1. Av dessa är:

  • 1037 är latinska tecken (siffror och skiljetecken oräknat, då dessa är gemensamma för många skriftsystem),
  • 502 är grekiska tecken,
  • 266 är kyrilliska tecken,
  • 966 är arabiska tecken (många av dessa är förformade tecken för sammanbindning, vilka inte bör användas för inmatning och lagring),
  • 71 570 är kinesiska/japanska ideografiska tecken (i BMP och i SIP (plan 02))
  • 11 172 är förkomponerade Hangulstavelser (alla kan uttryckas med sekvenser av Hangul-bokstäver, jamo),
  • 2048 är reservade i BMP av tekniska skäl för att uttrycka supplementära (d.v.s. utanför BMP) kodpunkter i UTF-16,
  • 137 468 är reserverade för "privat" användning (program och operativsystem kan definiera dem själva)
  • 66 (varav 34 i BMP) är resererade för användning internt i applikationer,
  • 65535 ligger i BMP (plan 0), de med nummer under 10000 (hex). Många program stödjer bara dessa.
  • etc.

Man använder beteckningen "kodpunkt" (code point) istället för tecken i Unicode, eftersom ett antal av dem inte representerar tecken. Det kan vara bland annat styrkoder för datorn, för presentation, för att uttrycka UTF-16 samt förbjudna kodpunkter.

Skillnader mellan Unicode och ISO/IEC 10646 redigera

Unicode standardiserar teckenegenskaper, vilket ISO/IEC 10646 inte gör. Teckenegenskaper är bl.a. "generell kategori" (bokstav, siffra, m.m.), radbrytningsegenskaper, egenskaper för bidirektionalitet, och mycket mer.

ISO/IEC 10646 har formaliserade "delmängder", vilket Unicode inte har.

Referenser redigera