UTF-8: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Descrizione tecnica: tabella più chiara
Riga 16:
 
== Descrizione tecnica==
UTF-8 viene descritto nello standard RFC 3629 (''UTF-8, un formato di trasformazione dell'[[ISO 10646]]''). Brevemente, i bit che compongono un carattere Unicode vengono suddivisi in gruppi, che vengono poi ripartiti tra i bit meno significativi all'interno dei byte che formano la codifica UTF-8 del carattere.
 
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.
Riga 51:
Per esempio, il carattere [[aleph|alef]] (א), corrispondente all'Unicode U+05D0, viene rappresentato in UTF-8 con questo procedimento:
 
* ricade nell'intervallo da 0x0080 a 0x07FF. Secondo la tabella verrà rappresentato con due byte. ''110xxxxx(110XXXXX 10xxxxxx''.10XXXXXX);
* l'esadecimale 0x05D0 equivale al binario 101-1101-0000.;
* gli undici bit vengono copiati in ordine nelle posizioni marcate con "x".: 110-'''10111''' 10-'''010000'''.;
* il risultato finale è la coppia di byte 11010111 10010000, o in esadecimale 0xD7 0x90.
 
Riassumendo, i primi 128 caratteri vengono rappresentati con un singolo byte. I successivi 1920 ne richiedono due, e comprendono gli alfabeti [[Alfabeto latino|Latino]] con [[Diacritico|diacritici]], [[Alfabeto greco|Greco]], [[Alfabeto cirillico|Cirillico]], [[Alfabeto copto|Copto]], [[Alfabeto armeno|Armeno]], [[Alfabeto ebraico|Ebraico]] e [[Alfabeto arabo|Arabo]]. I restanti caratteri nel ''Basic Multilingual Plane'' hanno bisogno di tre byte, tutto il resto di quattro.