UTF-16 (formato di trasformazione Unicode a 16 bit) è un metodo standard per codificare i dati dei caratteri Unicode. Parte dello standard Unicode versione 3.0 (e versioni con numeri superiori), UTF-16 ha la capacità di codificare tutti i caratteri Unicode attualmente definiti. UTF-16 è specificato nell'Allegato Q dello standard ISO / IEC 10646 e nell'IETF RFC 2781.
Unicode è progettato per ospitare tutti i sistemi di scrittura conosciuti al mondo. Il sistema attualmente impiega tre diverse codifiche per rappresentare i set di caratteri Unicode: UTF-8, UTF-16 e UTF-32. Ogni codifica definisce un sistema in base al quale i caratteri in alcuni set di caratteri possono essere rappresentati in forma binaria in un file. Ciascuna di queste rappresentazioni binarie di un carattere è chiamata punto di codice. Unicode può definire oltre un milione di codifiche distinte (10FFFF punti di codice in esadecimale; 1,114,112 in decimale). I punti di codice Unicode sono divisi in 17 piani, di cui i piani da 0 a 2 sono i più comuni:
- Il piano 0, noto come BMP (Basic Multilingual Pane), contiene caratteri per quasi tutte le lingue moderne oltre ai caratteri speciali più comuni.
- Il piano 1, noto come Supplementary Multilingual Plane (SMP), viene utilizzato principalmente per le scritture storiche come la lineare B e per i simboli musicali e matematici.
- Il piano 2, noto come Piano Ideografico Supplementare (SIP), viene utilizzato per circa 40,000 ideografi Han unificati usati raramente nelle comunicazioni scritte quotidiane.
Gli aerei rimanenti sono, ancora, in gran parte inutilizzati.
UTF-16 codifica i caratteri in sequenze binarie specifiche utilizzando una o due sequenze a 16 bit. Poiché esistono tre diversi schemi di codifica per mappare i punti di codice su sequenze a 8 bit o ottetti, esistono tre diversi schemi di codifica attorno al modello di sequenza di base a 16 bit.
UTF-16 è talvolta utilizzato in modo intercambiabile con UCS-2 sebbene tale uso non sia strettamente corretto.