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.
MerciGest è il software gestionale gratuito per Windows che semplifica la gestione del magazzino: giacenze,…
Tutti i nostri software gestionali possono essere collegati a un database SQL Server, consentendo l’accesso…
MerciGest è semplice e immediato: basta scaricare e installare il programma per iniziare subito. Al…
MerciGest è un gestionale di magazzino per Windows pensato per negozi, piccole imprese e artigiani…
La Standard Template Library (STL) è una delle componenti più potenti del C++. Fornisce una…
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…