Unicode (UCS-2 ISO 10646) è una codifica di caratteri a 16 bit che contiene tutti i caratteri (216 = 65.536 caratteri diversi in totale) in uso comune nei principali linguaggi del mondo, incluso il vietnamita. Lo Universal Character Set fornisce una rappresentazione univoca del testo su una gamma di script, linguaggi e piattaforme. Fornisce un numero univoco, chiamato code point (o scalar value), per ogni carattere, indipendentemente dalla piattaforma, dal programma o dal linguaggio. Lo standard Unicode è modellato sul set di caratteri ASCII. Poiché la dimensione di 7 bit di ASCII è inadeguata per gestire testi multilingue, l'Unicode Consortium ha adottato un'architettura a 16 bit che estende i vantaggi di ASCII al testo multilingue.
I caratteri Unicode hanno sempre una larghezza di 16 bit, indipendentemente dal linguaggio, quindi non è richiesta alcuna sequenza di escape o codice di controllo per specificare alcun carattere in alcun linguaggio. La codifica Unicode dei caratteri tratta simboli, caratteri alfabetici e caratteri ideografici in modo identico, in modo che possano essere utilizzati simultaneamente e con uguale facilità. I programmi per computer che utilizzano la codifica Unicode per rappresentare i caratteri ma non visualizzano o stampano testo possono (nella maggior parte dei casi) rimanere invariati quando vengono introdotti nuovi script o caratteri.
Lo standard Unicode è stato adottato da leader del settore come Apple, HP, IBM, Microsoft, Oracle, SAP, Sun, Sybase, Unisys e molti altri. Unicode è richiesto da standard moderni come XML, Java, .NET, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, ecc., ed è il modo ufficiale di implementare ISO/IEC 10646. È supportato in molti sistemi operativi, in tutti i browser moderni e in molti altri prodotti. L'emergere dello standard Unicode e la disponibilità di strumenti che lo supportano offrono risparmi significativi rispetto all'utilizzo di set di caratteri legacy. Consente il trasporto dei dati attraverso molti sistemi diversi senza corruzione.
Attualmente, un certo numero di paesi, come Cina, Corea e Giappone, hanno adottato Unicode come standard nazionale, talvolta dopo aver aggiunto ulteriori allegati con riferimenti incrociati a standard nazionali più datati e specifiche di vari sottoinsiemi di implementazione nazionale.
Nel settembre 2001, il Ministero della Scienza, della Tecnologia e dell'Ambiente (MOSTE) del Vietnam ha emanato lo standard TCVN 6909:2001, basato su ISO/ICE 10646 e Unicode 3.1, come nuovo standard nazionale per la codifica di caratteri vietnamita a 16 bit.
Che cos'è UTF-8?
Lo standard Unicode (ISO 10646) definisce un set di caratteri universali a 16 bit che comprende la maggior parte dei sistemi di scrittura del mondo. I caratteri a 16 bit, tuttavia, non sono compatibili con molte applicazioni e protocolli attuali che presuppongono caratteri a 8 bit (come il Web) o persino caratteri a 7 bit (come la posta), il che ha portato allo sviluppo di alcuni cosiddetti formati di trasformazione UCS (UTF), ognuno con caratteristiche diverse. Unicode fornisce una codifica orientata ai byte chiamata UTF-8 che è stata progettata per un uso facile con i sistemi basati su ASCII esistenti. UTF-8 è il formato di trasformazione Unicode che serializza un code point Unicode come una sequenza univoca da uno a quattro byte. La codifica UTF-8 consente l'utilizzo di Unicode in modo conveniente e compatibile con le versioni precedenti in ambienti che, come Unix, sono stati progettati interamente intorno ad ASCII. È stato introdotto per fornire una codifica multibyte compatibile con le versioni precedenti di ASCII.
Il formato Unicode UTF-8 di ISO 10646 è la codifica di caratteri predefinita preferita per l'internazionalizzazione dei protocolli delle applicazioni Internet. Sarà più comune nel World Wide Web. Essendo un formato a più byte, è naturalmente adatto al web poiché il web stesso è basato su protocolli a 8 bit. UTF-8, in effetti, è l'unico formato Unicode comunemente supportato dai browser web.