Codice ASCII: Tabella a 7bit e Tabella Estesa a 8bit

Il codice ASCII viene rappresentato in una tabella Ascii con 128 caratteri (7bit). Il codice ASCII esteso e la sua relativa tabella estesa hanno una capacità di 256 caratteri (8bit).

La tabella dei codici ASCII è costituita da una matrice rettangolare di 16 righe per 8 colonne contenete 128 caratteri, il massimo ottenibile con 7 bit. Quindi l'ASCII standard, come detto, è un codice a 7bit che inserito in un byte, ne rappresenta la parte meno significativa, da 0 a 128 appunto, con l'ottavo bit sempre a zero. I 128 caratteri ASCII rappresenttai sono con suddivisi in caratteri di controllo (i vari NULL CR Lf etc) e 96 caratteri stampabili ( i caratteri alfanumerici).

Tabella codici ASCII

Codici ASCII tabella

Tramite questa tabella codici ASCII standard, è abbastanza semplice individuare il valore HEX (esadecimale) o BIN (binario) che ci interessa. Ad esempio il carattere ASCII '5' ( a proposito, i caratteri ASCII in programmazione vengono riconosciuti inserendoli in degli apici 'ASCII') corrisponde al numero binario 00111010 corrispondente all'esadecimale HEX 0x35 ( a ri-proposito i numeri esadecimali vengono in genere rappresentati inserendo all'inizio del numero 0x quindi 0xHEX oppure con la H iniziale - vedi in seguito).

In questa rappresentazione con numeri binarii ed esadecimali, ho assunto che l'ottavo bit sia zero, ma a volte può essere anche usato come bit di parità.

Altra considerazione degna di nota è l'utilizzo dei caratteri di controllo. In particolare quelli usati in programmazione sono 3. Andiamoli a vedere uno per uno.

NUL (null): corrispondente a 00H (la H finale significa che il numero è esadecimale) b00000000 (la b iniziale identifica un numero binario) viene spesso usato come carattere ascii finale. Infatti se usiamo un puntatore per "scorrere2 dei caratteri in memoria, viene sempre fatto il match (confronto) con il NUL, se positivo, allora significa che la stringa è finita.

CR (carriage return): corrisponde a 0DH b00001101 .13 (si, il punto iniziale significa numero decimale) ed è il famoso RETURN - ENTER - INVIO. In pratica il il "ritorno carrello" che in fase di stampa (usando il comando print) riporta il cursore ad inizio riga.

LF (line feed): corrisponde a 0AH b00001010 .10 è l'avanzamento di linea, e viene usato spesso insieme al CR. Il CR riporta ad inizio linea, si, ma alla stessa linea, quindi a meno che non dobbiamo ri-scrivere sulla stessa linea, abbiamo bisogno, per andare avanti a stampare, di tutti e due i comandi <CR> <LF>. Vai a capo della linea successiva.

Codici ASCII tabella estesa

La tabella estesa dei codici ASCII rappresenta quei caratteri che sono oltre il numero 255 127 limitato dai 7bit. In genere sono simboli grafici, lettere di linguaggi starnieri, lettere dell'alfabeto greco e simboli matematici o tecnici. Questi comandi ASCII estesi non sono molto usati in programmazione, anche perchè dipendono dalla periferica che si sta gestendo. Ad esempio un display che può essere gestito con il comando print e con l'invio dei codici ASCII, difficilmente avrà all'interno la decoficica per i comandi ASCII estesi.

Tabella ASCII estesa

Utile esempio di conversione di una string ASCII esadecimale in una string ASCII decimale. Il codice sorgente è scritto in linguaggio c  ed è disponibile su questo forum: hex ASCII to decimal ASCII

Scarica subito una copia gratis

Una risposta

  1. Avatar photo Emanuele 5 Novembre 2009

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend