La rappresentazione interna dei caratteri è un problema di cui spesso ci dimentichiamo nel nostro lavoro, sia che venga utilizzato ASCII o EBCDIC, possiamo lavorare senza problemi perché è il sistema stesso se ne occupa in maniera trasparente. Tuttavia qualche volta siamo costretti ad occuparcene in quanto dobbiamo scambiare dati con sistemi diversi o quando siamo di fronte a problematiche di internazionalizzazione. Con il diffondersi di Internet queste problematiche sono cresciute e riuscire ad avere la rappresentazione di lettere accentate, simboli matematici, ideogrammi cinesi e testo in arabo è di fondamentale importanza oggi.
Unicode propone uno standard per la rappresentazione universale di tutti i caratteri ed i simboli utilizzati nelle diverse lingue del mondo. Lo standard Unicode assegna a ciascun carattere da rappresentare un valore numerico e nome univoco. La rappresentazione standard prevede l’uso di 16 bit offrendo la capacità di rappresentare oltre 65.000 caratteri. In realtà l’attuale versione 6.0, che è uscita proprio in questi giorni ( vedere sito dello standard Unicode ), definisce ulteriori codici e sempre di più verrà sviluppato il database; in questi ultimi anni ci si è particolarmente indirizzati verso la rappresentazione di simboli di lingue orientali ed arabe soprattutto per i dispositivi mobile.
L’insieme dei caratteri codificati da Unicode è organizzato in maniera razionale ed efficiente, a ciascun elemento codificato detto code element, è associata una lettera o simbolo valutario o simbolo della lingua Cinese o Giapponese. A ciascun code element è associato un valore numerico univoco ed un nome. Il valore numerico assegnato ad un code element è detto code point e viene indicato in esadecimale preceduto dal prefisso “U+”. Ad esempio alla lettera “A” è associato un code point “U+0041” ed il nome “LATIN CAPITAL LETTER A”. Da ricordare che lo standard Unicode non definisce come tale carattere debba essere rappresentato sullo schermo, né la forma o la dimensione.
Oltre ai caratteri semplici è prevista la possibilità di utilizzare caratteri composti ( composed characters ), ad esempio il carattere “â” è composto da “a” + “^”.
Unicode raggruppa insiemi di caratteri in code block, che sono un insieme di code point che rappresentano caratteri correlati ad un sistema alfabetico ( script ) o insieme di simboli con determinate affinità, come per esempio i caratteri cirillici o i simboli delle lingue orientali CJK ( Chinese Japanese Korean ).
Oltre a definire l’identità di ciascun carattere, Unicode definisce anche la loro rappresentazione in bit. Sono previste tre forme di codifica che consentono di rappresentare le stesse informazioni tramite 8, 16 o 32 bit:
Le tre forme di codifica rappresentano lo stesso insieme di caratteri e possono essere trasformate le une nelle altre senza perdita di informazione, la scelta dell’una o dell’altra forma di codifica dipende dal livello di efficienza e compatibilità che si vuole ottenere.
Nella definizione dello standard Unicode è stata posta molta cura nel cercare di mantenere un alto grado di compatibilità con gli altri sistemi di codifica, a questo scopo i primi 127 caratteri coincidono con la codifica ASCII in modo che Unicode risulti una estensione di quest’ultima.
La codifica Unicode si è ormai affermata, essendo in pratica lo standard di tutti i nuovi progetti software, ad esempio i miei programmi gestionali più aggiornati sono stati tutti convertiti in Unicode, in modo che si possa ad esempio inserire anche nomi in cirillico, lingue orientali ed arabo.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→