Codici ASCII
La tabella ASCII è un codice convenzionale
usato per la rappresentazione dei caratteri di testo attraverso i byte: ad
ogni byte viene fatto corrispondere un diverso carattere della tastiera
(lettere, numeri, segni). In realtà lo
standard ASCII copre solo i primi 128 byte (da 00000000 a 01111111), i
successivi byte fino al 256° costituiscono la tabella ASCII estesa che
presenta varie versioni a carattere nazionale.
Nella tabella ASCII
standard si trovano le cifre numeriche, le lettere maiuscole e minuscole
(maiuscole e minuscole hanno codici ASCII differenti) la punteggiatura, i
simboli aritmetici e altri simboli ($, &, %, @, #, ecc.). Essendo stata
concepita in America, la tabella ASCII standard non comprende le lettere
accentate (sconosciute all'ortografia inglese). I primi 32 byte della tabella standard sono inoltre
riservati per segnali di controllo e funzioni varie.
L'alfabeto
latino, usato nella scrittura di molte lingue nel mondo, presenta una grande
quantità di varianti grafiche: si va dalle semplici vocali accentate (accento
grave à, acuto á, circonflesso â, dieresi ä, tilde ã) a lettere modificate (lettere con barrette, cediglie, segni),
lettere speciali usate solo in una lingua, segni di punteggiatura particolari
(il punto interrogativo ed il punto esclamativo capovolti usati nello
spagnolo), simboli di valuta, e così via, senza considerare poi che gran parte
di questi segni presentano le due forme maiuscola e minuscola.
Le varianti sono talmente numerose che i 128
byte della tabella estesa non sono purtroppo sufficienti a rappresentarle
tutte, per questo motivo esistono diverse estensioni della tabella ASCII: lo
standard ISO 8859 prevede 15 diverse estensioni, comprese quelle per gli
alfabeti diversi dal latino, ma esistono anche ulteriori estensioni non
riconosciute dall'ISO e create per esempio dalla Microsoft per i sistemi
Windows o dalla Apple per i Macintosh. Persino l'MS-DOS usava un'estensione
diversa da quella di Windows. La tabella ASCII
estesa tipicamente utilizzata in Italia è quella dell'Europa occidentale,
creata per le lingue germaniche e neolatine (escluso il rumeno). Altre
estensioni usate in Europa sono la Centro Europea per i paesi dell'Europa
orientale (lingue slave, ungherese, rumeno), la Turca, la Cirillica e la
Greca. Questa coesistenza fra diverse
versioni del codice ASCII produce spesso discordanze nella visualizzazione dei
file di testo. Sarà capitato a molti di aprire un file di testo o ricevere una
E-mail e trovare segni assurdi al posto di tutte le lettere accentate, questo
perché chi l'ha scritto stava usando una tabella estesa diversa dalla vostra e
quindi il vostro computer interpreta alcuni byte del file in modo
diverso. Certi tipi di
file, come i file html, possono contenere al loro interno il nome esplicito
dell'estensione ASCII usata per la loro creazione, così il computer ricevente
saprà come regolarsi.
Per cercare di
ovviare al problema è stato creato un nuovo standard internazionale detto Unicode, definito dalla Unicode Consortium e dalla International
Organization for Standardization (ISO 10646), che rappresenta i caratteri
usando 2 byte (16 bit). Con 2 byte il
numero di combinazioni possibili diventa 256x256 = 65.536, perciò Unicode
supporta 65.536 diversi segni, al posto dei 256 del set ASCII. Si riescono
così a rappresentare non solo tutte le varianti dell'alfabeto latino, ma anche
tutti gli altri alfabeti (greco, cirillico, arabo, ebraico...) oltre
all'insieme degli ideogrammi cinesi e giapponesi (che sono in tutto circa
30.000, anche se poi ne vengono effettivamente utilizzati solo poche
migliaia). Lo standard definitivo è ancora in corso di definizione, ma i
codici disponibili sono così numerosi, che pare verranno inseriti in Unicode
persino gli alfabeti di fantasia come l'Elfico di Tolkien o il Klingon di Star
Trek. Lo svantaggio dell'Unicode,
rispetto all'ASCII, è che le dimensioni dei file di testo risultano comunque
raddoppiate (vengono usati 2 byte per carattere, invece di 1 solo). segue
byte
|