informatica01

Andiamo oggi a presentare una serie di post riguardo il trattamento dei testi nelle lingue orientali.
Incominciamo da tre definizioni fondamentali:

  1. Repertorio: un insieme di caratteri. Il concetto è simile a quello dell’alfabeto. Non viene fatta nessuna assunzione sull’utilizzo di questo insieme di caratteri in un computer. I caratteri solitamente hanno un nome tipo “A maiuscola”, “IPSILON”.
  2. Code: è una associazione uno a uno tra caratteri appartenenti ad un determinato insieme e un insieme di valori numerici.
  3. Encoding: un metodo (algoritmo) per rappresentare caratteri in un formato digitale, associando i character code a sequenze di byte.

Un esempio di repertorio (character repertoire) è l’alfabeto della lingua italiana, oppure quello cirillico, o l’alfabeto greco.
Il concetto di repertorio non implica nessuna connotazione informatica: si può fare sulla carta.
Se prendo i numero da uno a 26 e li associo alle lettere dell’alfabeto, ho fatto un code.
Anche in questo caso, non c’è una relazione diretta con il mondo dei computer.
Nota bene: Unicode è un character code, infatti è solamente un (lunghissimo) elenco di caratteri.
Il concetto di encoding inizia ad avere senso quando bisogna pensare a come rappresentare nella memoria di un computer i numeri associati ai caratteri.
Infatti Unicode prevede svariate decine di migliaia di caratteri, e chiunque potrebbe svegliarsi alla mattina e decidere di allineare i bit dei propri programmi a suo piacimento (è già successo).
Siccome questo porterebbe alla più completa incompatibilità, si è pensato di stabilire un sistema uguale per tutti.
Questo chiaramente ha portato a diverse guerre e carneficine tra i sostenitori delle varie versioni.
No, scherzo; comunque la maniera più efficiente è senza dubbio UTF-8, che quindi è un modo per rappresentare i caratteri Unicode esattamente come EUC, UTF-16 eccetera.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>