Unicode

Da Wikipedia, l'enciclopedia libera.
Vai a: navigazione, cerca
bussola Disambiguazione – Se stai cercando informazioni sulla gestione dei caratteri Unicode in Wikipedia, vedi la relativa pagina di aiuto.
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 utilizzati. Unicode è stato compilato e viene aggiornato e pubblicizzato dal Unicode Consortium[1], un consorzio internazionale di aziende interessate alla interoperabilità nel trattamento informatico dei testi in lingue diverse.
Il codice assegnato al carattere[2] viene rappresentato con U+, seguito dalle quattro (o sei) cifre esadecimali del numero che lo individua.

Unicode incorpora, nella primissima parte, la codifica ISO/IEC 8859-1[3], 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 etc.

Attualmente lo standard Unicode 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.

L'Unicode viene supportato dai moderni standard della programmazione e del markup come XML, Java, JavaScript, LDAP, CORBA 3.0, e da vari sistemi operativi.

Indice

[modifica] Struttura del codice

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 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 minima 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

[modifica] Piano di base multilinguistico (BMP)

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[6]. 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).

Intervallo Descrizione
0000-007F C0 Controls and Basic Latin
0080-00FF C1 Controls and Latin-1 Supplement
0100-017F Latin Extended-A
0180-024F Latin Extended-B
0250-02AF IPA Extensions
02B0-02FF Spacing Modifier Letters
0300-036F Combining Diacritical Marks
0370-03FF Greek and Coptic
0400-04FF Cyrillic
0500-052F Cyrillic Supplement
0530-058F Armenian
0590-05FF Hebrew
0600-06FF Arabic
0700-074F Syriac
0750-077F Arabic Supplement
0780-07BF Thaana
07C0-07FF N'Ko
0900-097F Devanagari
0980-09FF Bengali
0A00-0A7F Gurmukhi
0A80-0AFF Gujarati
0B00-0B7F Oriya
0B80-0BFF Tamil
0C00-0C7F Telugu
0C80-0CFF Kannada
0D00-0D7F Malayalam
0D80-0DFF Sinhala
0E00-0E7F Thai
0E80-0EFF Lao
0F00-0FFF Tibetan
1000-109F Myanmar
10A0-10FF Georgian
1100-11FF Hangul Jamo
1200-137F Ethiopic
13A0-13FF Cherokee
1400-167F Unified Canadian Aboriginal Syllabics
1680-169F Ogham
16A0-16FF Runic
1700-171F Tagalog
1720-173F Hanunoo
1740-175F Buhid
1760-177F Tagbanwa
1780-17FF Khmer
1800-18AF Mongolian
1900-194F Limbu
1950-197F Tai Le
19E0-19FF Khmer Symbols
1D00-1D7F Phonetic Extensions
1E00-1EFF Latin Extended Additional
1F00-1FFF Greek Extended
2000-206F General Punctuation
2070-209F Superscripts and Subscripts
20A0-20CF Currency Symbols
20D0-20FF Combining Diacritical Marks for Symbols
2100-214F Letterlike Symbols
2150-218F Number Forms
2190-21FF Arrows
2200-22FF Mathematical Operators
2300-23FF Miscellaneous Technical
2400-243F Control Pictures
2440-245F Optical Character Recognition
2460-24FF Enclosed Alphanumerics
2500-257F Box Drawing
2580-259F Block Elements
25A0-25FF Geometric Shapes
2600-26FF Miscellaneous Symbols
2700-27BF Dingbats
27C0-27EF Miscellaneous Mathematical Symbols-A
27F0-27FF Supplemental Arrows-A
2800-28FF Braille Patterns
2900-297F Supplemental Arrows-B
2980-29FF Miscellaneous Mathematical Symbols-B
2A00-2AFF Supplemental Mathematical Operators
2B00-2BFF Miscellaneous Symbols and Arrows
2E80-2EFF CJK Radicals Supplement
2F00-2FDF Kangxi Radicals
2FF0-2FFF Ideographic Description Characters
3000-303F CJK Symbols and Punctuation
3040-309F Hiragana
30A0-30FF Katakana
3100-312F Bopomofo
3130-318F Hangul Compatibility Jamo
3190-319F Kanbun
31A0-31BF Bopomofo Extended
31F0-31FF Katakana Phonetic Extensions
3200-32FF Enclosed CJK Letters and Months
3300-33FF CJK Compatibility
3400-4DBF CJK Unified Ideographs Extension A
4DC0-4DFF Yijing Hexagram Symbols
4E00-9FFF CJK Unified Ideographs
A000-A48F Yi Syllables
A490-A4CF Yi Radicals
AC00-D7AF Hangul Syllables
D800-DB7F High Surrogates
DB80-DBFF High Private Use Surrogates
DC00-DFFF Low Surrogates
E000-F8FF Private Use Area
F900-FAFF CJK Compatibility Ideographs
FB00-FB4F Alphabetic Presentation Forms
FB50-FDFF Arabic Presentation Forms-A
FE00-FE0F Variation Selectors
FE20-FE2F Combining Half Marks
FE30-FE4F CJK Compatibility Forms
FE50-FE6F Small Form Variants
FE70-FEFF Arabic Presentation Forms-B
FF00-FFEF Halfwidth and Fullwidth Forms
FFF0-FFFF Specials

[modifica] Sistemi di scrittura rappresentati

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.

[modifica] Versioni Unicode

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.

[modifica] Note

  1. ^ (EN)Pagina ufficiale di Unicode Consortium: http://www.unicode.org/consortium/consort.html
  2. ^ "Code point", in inglese.
  3. ^ 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 di 256 caratteri ed era sufficiente per gli alfabeti dell'Europa Occidentale e del Nord America.
  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. ^ Una mappa delle assegnazioni si può trovare su en.wiki
  7. ^ Unicode Consortium: Unicode Character Database 5.0 Released, 18 luglio 2006

[modifica] Voci correlate

[modifica] Altri progetti

[modifica] Collegamenti esterni

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica
Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti
Altre lingue