UTF-8: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Caratteristiche generali: Errore Etichette: Possibile modifica di prova o impropria Modifica da mobile Modifica da web per mobile |
mNessun oggetto della modifica |
||
(18 versioni intermedie di 17 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.
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 20 ⟶ 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 47 ⟶ 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 61 ⟶ 57:
== UTF-8 Modificato ==
Il [[linguaggio di programmazione Java]], che usa UTF-16 come rappresentazione interna dei caratteri, usa per la loro serializzazione su file una variazione non standard di UTF-8<ref>{{cita web|url=
Ci sono due differenze tra la codifica UTF-8 standard e quella modificata. La prima differenza è che il carattere nullo (U+0000) viene rappresentato con due byte anziché uno, nello specifico come 11000000 10000000 (0xC0 0x80). In questo modo ci si assicura che nessuna stringa codificata venga troncata prematuramente perché contenente il byte ''null'' (0x00), interpretato da alcuni linguaggi di programmazione (ad esempio il [[Linguaggio C|C]]) come terminatore della stringa.
Line 102 ⟶ 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 119 ⟶ 114:
* [[UTF-32]]
* [[UTF-7]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|http://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt|Rob Pike racconta la creazione di UTF-8}}▼
* {{FOLDOC}}
▲* {{cita web|
* {{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ì }}
* RFC 3629, Lo standard UTF-8
* RFC 2277, La politica della IETF sui set di caratteri e sui linguaggi
* {{cita web|http://www.utf-8.com/|UTF-8}}
▲{{Tabella Unicode}}
{{portale|informatica}}
|