Conversione di testo in Unicode

Grazie a questo semplice tool è possibile effettuare, direttamente on-line, la conversione di una stringa di testo, contenente caratteri speciali o lettere accentate, in Unicode al fine di standardizzarne l'utilizzo all'interno di sorgenti Javascript, JSON, Python, Java, ecc.

Gestire caratteri non standard in informatica

Uno dei problemi che, da sempre, attanaglia gli sviluppatori è quello della corretta gestione delle stringhe di testo all'interno del codice sorgente delle applicazioni. Il problema nasce soprattutto dai cosiddetti caratteri speciali e dalle lettere accentate, cioè di tutti quei caratteri visibili che non sono classificabili tra le lettere dell'aflabeto (A-Z) ed i numeri (0-9).

Volendo semplificare, possiamo dire che il problema nasce ogni qualvolta, in fase di scrittura di codice sorgente, vi sia la necessità di inserire variabili stringa contenenti caratteri non standard (come, ad esempio, tutte le lettere accentate dell'italiano, del francese, del tedesco o dello spagnolo).

Vediamo un esempio in Java. Se provassimo ad inserire nel nostro codice:

System.out.print("In quale città sei nato?");

otteremmo un output del genere:

In quale città sei nato?

Come possiamo vedere non viene stampata a video la lettera "à" ma "Ã" a causa di un problema legato all'encoding dei caratteri in Java (che, di default, utilizza UTF-8).

Questo accade perchè questi caratteri, appunto, rientrano in codifiche che non sono universali ma appartenenti a determinati ambiti geografici (nel nostro caso si tratta di una lettere accentata propria del set di caratteri Latin1).

Lo standard Unicode

Per superare questo problema è stato creato lo standard Unicode il quale riunisce al proprio interno tutti gli alfabeti del mondo, assegnando a ciascun carattere un numero univoco di rappresentazione, del tutto indipendente dalla lingua, dalla piattaforma e/o dal programma utilizzato.

L'aggiornamento dello standard è di competenza di un consorzio - l'Unicode Consortium - che raggruppa diverse aziende ed enti di tutto il mondo che cooperano al fine di garantire l'interoperabilità nel settore informatico.

Possiamo dire, quindi, che Unicode non è uno standard, ma lo standard per la gestione dei testi e delle lingue in ambito informatico e che tutti gli sviluppatori, pertanto, dovrebbero utilizzarlo costantemente nello sviluppo delle proprie applicazioni. In realtà, purtroppo, non è così in quanto si è diffusa la credenza che "Unicode sia complicato" tant'è che ancora oggi sono moltissimi gli sviluppatori che non rispettano questo standard.

Come funziona Unicode

Come già detto Unicode è uno standard che raccoglie, al suo interno, i caratteri di tutte le lingue del mondo (inglese, tedesco, trancese, italiano, spagnolo, portoghese, russo, cinese, mandarino, ecc.) assegnano a ciascuno di essi un numero univoco: ad ogni numero corrisponde un carattere.

Per rappresentare un qualsiasi carattere non standard all'interno del codice sorgente di un programma, quindi, sarà sufficiente indicarlo facendo riferimento al suo numero Unicode. Ad esempio, per rappresentare la "à" si utilizzerà la notazione esadecimale "00E0" preceduta dal carattere di escape "\u" in questo modo: "\u00E0".

Tornando all'esempio visto in precedenza, il bravo sviluppatore dovrebbe scrivere:

System.out.print("In quale citt\u00E0 sei nato?");

Eseguendo il nostro programma, finalmente, otterremmo il risultato voluto:

In quale città sei nato?

Unicode e codifica dei caratteri

Differentemente da ASCII, Unicode non si occupa della codifica dei caratteri ma si limita alla loro standardizzazione. Questo significa che per rappresentare, in un terminale, un carattere definito mediante Unicode, avremo bisogno di un codec che ne effettui la trasformazione in una sequenza di byte.

Esistono diversi codec compatibili con Unicode, tuttavia la maggior parte di questi non è in grado di codificare tutti i caratteri standardizzati da Unicode. Ad esempio la codifica ISO-8859-1 è in grado di rappresentare tutti i caratteri latini ma non sarebbe in grado, ad esempio, di gestire correttamente un carattere russo o cinese.

L'unica codifica in grado di convertire correttamente ogni sequenza Unicode è UTF-8. Per questo motivo è consigliabile, soprattutto per gli sviluppatori di applicazioni web, fare sempre ricorso alla codifica UTF-8 in quanto solo con essa sarà possibile gestire correttamente ogni tipo di carattere, a prescindere dallo specifico alfabeto di provenienza.


Come effettuare la conversione in Unicode utilizzando il nostro tool?

L'utilizzo del nostro Unicode Converter è molto semplice: è sufficiente digitare nell'area di testo la stringa che si desidera convertire in Unicode e premesere sul pulsante. Istantaneamente il sistema restituirà la stringa convertita in Unicode.

Impostanto il controllo su "Da Unicode a testo" è anche possibile effettuare l'oprazione inversa, cioè convertire una stringa standardizzata in Unicode in una stringa di testo semplice.


Altri tool interessanti