UTF-8: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullata la modifica 113044631 di 2001:B07:5D38:4036:546C:C715:A8F5:85ED (discussione) Etichetta: Annulla |
mNessun oggetto della modifica |
||
(9 versioni intermedie di 8 utenti non mostrate) | |||
Riga 1:
{{Tabella Unicode}}▼
'''UTF-8''' (Unicode Transformation Format, 8 bit) è una [[codifica di caratteri]] [[Unicode]] in sequenze di lunghezza variabile di byte, creata da [[Rob Pike]] e [[Ken Thompson]]. UTF-8 usa gruppi di byte per rappresentare i caratteri [[Unicode]], ed è particolarmente utile per il trasferimento tramite sistemi di [[posta elettronica]] a 8-[[Bit (informatica)|bit]].
==
UTF-8 è stato ideato da [[Ken Thompson]] e [[Rob Pike]] il 2 settembre [[1992]] su una tovaglietta in una tavola calda del [[New Jersey]]. Il giorno dopo Pike e Thompson l'hanno implementato e hanno aggiornato [[Plan 9]], il loro [[Sistema operativo]], per usarlo.
UTF-8 è stato presentato ufficialmente nel gennaio del [[1993]] a [[San Diego]] in occasione della conferenza annuale di [[
== Caratteristiche generali ==
UTF-8 usa da 1 a 4 [[byte]] per rappresentare un carattere Unicode. Per esempio un solo byte è necessario per rappresentare i 128 caratteri dell'alfabeto [[ASCII]], corrispondenti alle posizioni Unicode da U+0000 a U+007F.
Quattro byte possono sembrare troppi per un solo carattere; tuttavia questo è richiesto solo per i caratteri che stanno fuori dal ''Basic Multilingual Plane'', generalmente molto rari. Inoltre anche [[UTF-16]] (la principale alternativa a UTF-8) richiede quattro byte per questi caratteri. Quale sia più efficiente, UTF-8 o UTF-16, dipende dall'intervallo di caratteri utilizzati, e l'uso di [[Compressione dei dati|algoritmi di compressione]] tradizionali riduce in maniera significativa la differenza tra le due codifiche. Per brevi brani di testo, su cui gli algoritmi di compressione tradizionali non sono efficienti
La [[Internet Engineering Task Force|IETF]] (''Internet Engineering Task Force'') richiede che tutti i [[Protocollo di rete|protocolli]] [[Internet]] identifichino la codifica dei caratteri utilizzata, e che siano in grado di utilizzare almeno UTF-8.
Line 19 ⟶ 18:
I caratteri il cui valore unicode è inferiore a U+0080 vengono rappresentati con un singolo byte contenente il loro valore; essi corrispondono esattamente ai 128 caratteri ASCII. In tutti gli altri casi sono necessari fino a 4 byte, ognuno di questi con il bit più significativo impostato a 1, in modo da distinguerli dalla rappresentazione dei caratteri dell'alfabeto ASCII a 7 bit, in particolare quelli il cui codice unicode è inferiore a U+0020, tradizionalmente utilizzati come caratteri di controllo.
{| class="wikitable"
|-
|-
|0x000000-0x00007F
Line 46 ⟶ 44:
|Confronto tra UTF-16 e UTF-8: UTF-16 richiede l'uso di coppie surrogate: viene sottratto il valore esadecimale 0x10000, in modo che la sequenza dei bit non coincida con quella usata da UTF-8
|}
Per esempio, il carattere [[aleph|alef]] (א), corrispondente all'Unicode U+05D0, viene rappresentato in UTF-8 con questo procedimento:
Line 101 ⟶ 98:
== Svantaggi ==
* UTF-8 usa sequenze di lunghezza variabile, cioè singoli caratteri
* Gli ideogrammi vengono rappresentati in UTF-8 con tre byte, mentre ne richiedono solo due in UTF-16. Di conseguenza i testi in [[Lingua cinese|Cinese]] / [[Lingua giapponese|Giapponese]] / [[Lingua coreana|Coreano]], oltre ad alcuni gruppi di caratteri Unicode meno noti, occupano più spazio
▲* Gli ideogrammi vengono rappresentati in UTF-8 con tre byte, mentre ne richiedono solo due in UTF-16. Di conseguenza i testi in [[Lingua cinese|Cinese]] / [[Lingua giapponese|Giapponese]] / [[Lingua coreana|Coreano]], oltre ad alcuni gruppi di caratteri Unicode meno noti, occupano più spazio quando vengono codificati con UTF-8.
== Note ==
Line 118 ⟶ 114:
* [[UTF-32]]
* [[UTF-7]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC}}
* {{cita web|https://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt|Rob Pike racconta la creazione di UTF-8}}
* {{cita web |1=http://www.cs.bell-labs.com/sys/doc/utf.pdf |2=L'articolo originale su UTF-8 |accesso=2 dicembre 2004 |urlarchivio=https://web.archive.org/web/20050505032430/http://www.cs.bell-labs.com/sys/doc/utf.pdf# |dataarchivio=5 maggio 2005 |urlmorto=sì }}
Line 126 ⟶ 127:
* {{cita web|http://www.utf-8.com/|UTF-8}}
▲{{Tabella Unicode}}
{{portale|informatica}}
|