UTF-8: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 72:
== Vantaggi ==
* Il vantaggio più ovvio di qualsiasi codifica UTF è che permette di rappresentare tutti i caratteri, a differenza di codifiche più vecchie.
* Alcuni caratteri di Unicode (per esempio l'alfabeto latino) occupano in UTF-8 un solo byte, altri richiedono fino a quattro byte. In generale un testo codificato in UTF-8 occuperà meno spazio del corrispondente [[UTF-16]] o [[UTF-32]] se contiene molti caratteri ASCII a 7 bit.
* Una sequenza di byte che codifica un carattere non può apparire come parte di una sequenza più lunga che codifica un altro carattere, come succedeva per codifiche a lunghezza variabile meno recenti (vedi la sezione precedente).
* Il primo byte di una sequenza è sufficiente a determinarne la lunghezza (è sufficiente contare il numero di bit più significativi con valore uno). Questo rende molto semplice estrarre una sotto-stringa da una stringa più lunga.
* La maggioranza del [[software]] esistente (inclusi i [[Sistema_operativo|sistemi operativi]]) è stata scritta senza tener conto di Unicode, e l'uso di Unicode creerebbe problemi di compatibilità. Per esempio la libreria standard del [[Linguaggio_C|Linguaggio C]] marca la fine di una stringa con un byte nullo (0x00). Usando UTF-16 il carattere Unicode "A" verrebbe codificato come 0x0041. La libreria considererebeb il primo byte il marcatore di fine stringa, e ignorerebbe il resto. UTF-8 è pensato in modo che nessuno dei byte codificati possa assumere uno dei valori speciali del codice ASCII, evitando questo e problemi simili.
* UTF-8 è la codifica predefinita per il formato [[XML]].
== Svantaggi ==
|