Unicode

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando informazioni sulla gestione dei caratteri Unicode in Wikipedia, vedi Aiuto:Unicode.
Unicode
Codifiche
UCS
Mappatura
Testo bidirezionale
BOM
Unificazione Han
Unicode eHTML

Unicode è un sistema di codifica che assegna un numero univoco ad ogni carattere usato per la scrittura di testi, in maniera indipendente dalla lingua, dalla piattaforma informatica e dal programma utilizzato.

È stato compilato e viene aggiornato e pubblicizzato dall'Unicode Consortium[1], un consorzio internazionale di aziende interessate alla interoperabilità nel trattamento informatico dei testi in lingue diverse.

Caratteristiche[modifica | modifica sorgente]

Incorpora, nella primissima parte, la codifica ISO/IEC 8859-1[2], ma va molto oltre, codificando i caratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonché simboli matematici e chimici, cartografici, l'alfabeto Braille, ideogrammi ecc.
Il codice assegnato al carattere[3] viene rappresentato con U+, seguito dalle quattro (o sei) cifre esadecimali del numero che lo individua. Viene supportato dai moderni standard della programmazione e del markup come XML, Java, JavaScript, LDAP, CORBA 3.0, e da vari sistemi operativi.

Attualmente non rappresenta ancora tutti i caratteri in uso nel mondo. Essendo ancora in evoluzione, si prefigge di coprire tutti i caratteri rappresentabili, garantendo la compatibilità e la non sovrapposizione con le codifiche dei caratteri già definiti, ma lasciando comunque dei ben precisi campi di codici "non usati", da riservare per la gestione autonoma all'interno di applicazioni particolari.

Struttura del codice[modifica | modifica sorgente]

Unicode era stato originariamente pensato come una codifica a 16 bit (quattro cifre esadecimali) che dava la possibilità di codificare 65.536 caratteri. Tanto si riteneva essere sufficiente per rappresentare i caratteri impiegati in tutte le lingue scritte del mondo. Ora invece lo standard Unicode, che tendenzialmente è perfettamente allineato con la norma ISO/IEC 10646, prevede una codifica fino a 21 bit e supporta un repertorio di codici numerici che possono rappresentare circa un milione di caratteri. Ciò appare sufficiente a coprire anche i fabbisogni di codifica di scritti del patrimonio storico dell'umanità, nelle diverse lingue e negli svariati sistemi di segni utilizzati.

In realtà, solo una piccolissima parte di questa disponibilità di codici è attualmente (al 2009) assegnata. Per lo sviluppo dei codici sono infatti previsti 17 "piani" ("planes", in inglese), da 00 a 10hex, ciascuno con 65.536 posizioni (quattro cifre esadecimali), ma solo i primi tre e gli ultimi tre piani sono ad oggi assegnati[4], e di questi il primo, detto anche BMP, è praticamente sufficiente a coprire tutte le lingue più usate.

Concretamente, questo repertorio di codici numerici è serializzato mediante diversi schemi di ricodifica, che consentono l'uso di codici più compatti per i caratteri usati più di frequente. È previsto l'uso di codifiche con unità da 8 bit (byte), 16 bit (word) e 32 bit (double word), descritte rispettivamente come UTF-8, UTF-16 e UTF-32.

Piano Intervallo Descrizione Abbreviazione
0 000000-00FFFF Basic Multilingual Plane BMP
1 010000-01FFFF Supplementary Multilingual Plane SMP
2 020000-02FFFF Supplementary Ideographic Plane SIP
3 030000-03FFFF Designato preliminarmente come Tertiary Ideographic Plane (TIP), ma nessun carattere gli è stato assegnato al momento[5]. TIP
4-13 040000-0DFFFF Attualmente non assegnati
14 0E0000-0EFFFF Supplementary Special-purpose Plane SSP
15 0F0000-0FFFFF Supplementary Private Use Area-A
16 100000-10FFFF Supplementary Private Use Area-B

Piano di base multilinguistico (BMP)[modifica | modifica sorgente]

Il primo piano (piano 0), il Piano di base multilinguistico (BMP - Basic Multilingual Plane), è quello in cui sono stati assegnati la maggior parte dei caratteri. Il BMP contiene caratteri per quasi tutti i moderni linguaggi e un grande numero di caratteri speciali. La maggioranza dei codici assegnati ai caratteri nel BMP sono stati usati per codificare quelli cinesi, giapponesi e coreani (CJK).

Sistemi di scrittura rappresentati[modifica | modifica sorgente]

Unicode comprende quasi tutti i sistemi di scrittura attualmente utilizzati, fra i quali:

In aggiunta a quelli citati, sono disponibili glifi appartenenti a molte lingue morte:

Infine, lo Unicode comprende anche molti simboli, come quelli matematici e musicali.

Cronologia delle versioni[modifica | modifica sorgente]

Negli ultimi anni una nuova versione è stata rilasciata praticamente ogni anno a seguito di una media di oltre 1.000 richieste di cambiamenti all'anno.

Versioni non ancora rilasciate ufficialmente:

Note[modifica | modifica sorgente]

  1. ^ (EN) Pagina ufficiale di Unicode Consortium: http://www.unicode.org/consortium/consort.html
  2. ^ Detta anche ISO Latin-1 e nota col nomignolo ASCII esteso, che indica però anche molte altre codifiche a 8 bit (basate sul vecchio standard ASCII a 7 bit), che consentiva la rappresentazione fino a 256 caratteri ed era sufficiente per gli alfabeti dell'Europa Occidentale e del Nord America.
  3. ^ "Code point", in inglese.
  4. ^ Piani assegnati (2009):
    1 00-BMP Piano di base Multilinguistico
    2 01-SMP piano supplementare multilinguistico
    3 02-SIP piano supplementare ideografico
    15 0E-SSP piano supplementare per scopi speciali
    16 0F-PUA riservato ad aree di uso privato
    17 10-PUA riservato ad aree di uso privato
  5. ^ Roadmap to the TIP
  6. ^ Unicode Consortium: Unicode Character Database 5.0 Released, 18 luglio 2006

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica