Passa al contenuto principale

RFC 3629 - UTF-8, un formato di trasformazione di ISO 10646

Data di pubblicazione: Novembre 2003
Stato: Standard Internet (STD 63)
Autore: F. Yergeau (Alis Technologies)
Sostituisce: RFC 2279
Categoria: Standards Track


Riassunto (Abstract)

ISO/IEC 10646-1 definisce un grande insieme di caratteri chiamato Universal Character Set (UCS) che comprende la maggior parte dei sistemi di scrittura del mondo. Tuttavia, le codifiche originariamente proposte per UCS non erano compatibili con molte applicazioni e protocolli attuali, il che ha portato allo sviluppo di UTF-8, oggetto di questo memo. UTF-8 ha la caratteristica di preservare l'intera gamma US-ASCII, fornendo compatibilità con file system, parser e altro software che si basa su valori US-ASCII ma è trasparente ad altri valori. Questo memo rende obsoleta e sostituisce RFC 2279.


Stato di questo memo (Status of this Memo)

Questo documento specifica un protocollo dello standard Internet per la comunità Internet e richiede discussione e suggerimenti per miglioramenti. Si prega di fare riferimento all'edizione corrente degli "Internet Official Protocol Standards" (STD 1) per lo stato di standardizzazione e lo stato di questo protocollo. La distribuzione di questo memo è illimitata.


Copyright (C) The Internet Society (2003). Tutti i diritti riservati.


Sommario (Table of Contents)

Sezioni principali


Perché UTF-8 è importante

UTF-8 è la codifica di caratteri standard per l'Internet moderno. Quasi tutte le moderne applicazioni web, API e formati di dati utilizzano UTF-8.

Vantaggi principali

CaratteristicaDescrizioneImportanza
Compatibile ASCIII caratteri ASCII sono codificati in modo identico⭐⭐⭐⭐⭐
Nessun problema di ordine byteNessun problema di endianness⭐⭐⭐⭐⭐
Auto-sincronizzantePuò decodificare da qualsiasi posizione⭐⭐⭐⭐
Efficiente nello spazio1 byte per inglese, 3 byte per CJK⭐⭐⭐⭐
Supporto globaleSupporta tutti i caratteri Unicode⭐⭐⭐⭐⭐

Riferimento rapido delle regole di codifica UTF-8

Tabella di codifica

Intervallo Unicode         Byte   Pattern di byte UTF-8
─────────────────────────────────────────────
U+0000 - U+007F 1 0xxxxxxx
U+0080 - U+07FF 2 110xxxxx 10xxxxxx
U+0800 - U+FFFF 3 1110xxxx 10xxxxxx 10xxxxxx
U+10000 - U+10FFFF 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Copertura degli intervalli di caratteri

1 byte (ASCII):
- Lettere latine, numeri, punteggiatura di base
- Caratteri di controllo
- Intervallo: U+0000 - U+007F

2 byte:
- Latino esteso
- Greco, cirillico, arabo, ebraico
- Intervallo: U+0080 - U+07FF

3 byte:
- Caratteri CJK
- La maggior parte degli altri sistemi di scrittura
- Intervallo: U+0800 - U+FFFF

4 byte:
- Emoji
- Scritture storiche, caratteri Han rari
- Intervallo: U+10000 - U+10FFFF


Nota importante: UTF-8 è lo standard predefinito per l'Internet moderno. Utilizzare sempre la codifica UTF-8 ed evitare codifiche legacy come GBK, ISO-8859-1, Windows-1252, ecc. Tutti i nuovi progetti dovrebbero utilizzare UTF-8 come unica codifica dei caratteri.