Utente:Agnul/Sandbox/UTF-32

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

UTF-32 (Unicode Transformation Format, 32 bit) è una codifica dei caratteri Unicode in numeri a 32-bit.

Si può pensare a UTF-32 come lo schema di codifica più semplice: ogni carattere viene rappresentato con il corrispondente numero all'interno dello standard Unicode. Tuttavia, usando 4 byte per ogni carattere è molto inefficiente dal punto di vista dello spazio per la maggioranza dei testi normali, che di solito contengono un numero di caratteri al di fuori del BMP (Basic Multilingual Plane) così basso da essere a tutti gli effetti non esistente. Questo significa che UTF-32 occupa spesso due volte lo spazio occupato da altre codifiche, arrivando anche a occupare quattro volte le dimensioni della codifica UTF-8 nei casi in cui il testo in questione non contenga caratteri al di fuori del codice ASCII a 7 bit.

Inoltre, anche se un numero di byte fisso per ogni carattere può sembrare comodo, non è in realtà così utile. Rende leggermente più facile il problema del troncamento, ma la differenza non è molto significativa rispetto a codifiche come UTF-8 e UTF-16. Non rende più semplice calcolare la larghezza di una stringa su uno schermo, dato che anche con un font a spaziatura fissa potrebbe esserci più di un carattere per posizione nella stringa (per esempio la combinazione di un diacritico con una vocale), o viceversa un singolo carattere potrebbe occupare più posizioni nella stringa (per esempio gli ideogrammi CJK). Combinare due caratteri per ottenere un solo simbolo a video significa anche che un editor non può trattare un carattere come una singola unità per l'elaborazione.

Per questi UTF-8 e UTF-16 sono le codifiche normali per i testi Unicode, mentre UTF-32 non è molto usato in pratica.

Lo standard ISO 10646 in origine definisce una codifica a 32 bit chiamata UCS-4 secondo il quale

Collegamenti esterni

[modifica | modifica wikitesto]