Tutorials - Informatica

 

Decimali, Binari & C

L' ASCII


 

L' ASCII

ASCII è acronimo di American Standard Code for Information Interchange. E' una convenzione per codificare i caratteri comunemente utilizzati per stampa e presentazione a video e poterli scambiare tra computer e periferiche di diversi produttori o con diversi sistemi operativi.
ASCII, nella sua forma originale, codifica 128 caratteri e segni speciali, quindi utilizza numeri composti da 7 bit binari. Successivamente è stato esteso a 256 caratteri, occupando 8 bit binari, ovvero due cifre Hex.

Sono state sviluppate, poi, numerose varianti non standard, ad esempio i caratteri speciali per la grafica sulle schede del PC IBM originale (CGA).
Alcune carattersistiche interessanti dell' ASCII sono le seguenti :

  1. le cifre indiane-arabe, da 0 a 9, sono codificate  in un byte il cui nibble alto vale 3
  2. Le lettere maiuscole dell' alfabeto latino sono codificate con byte hex con l' MSB pari a  4
  3. Le lettere minuscole hanno l' MSB che vale 6
  4. I caratteri codificati da 00h a 1Fh sono caratteri di controllo per la stampa e la visualizzazione, come LF (line Feed), CR (Carriage Return), ecc


Se osserviamo una tabella dei caratteri ASCII, vediamo che i numeri sono rappresentati ciascuno da un byte che contiene nel nibble alto il valore 3 e nel nibble basso il numero.

Ad esempio, un byte che contenga 39 e che sia da usare come ASCII, produce la scrittura sul terminale del numero 9; se il contenuto è 34, il numero presentato è il 4. 

Così, utilizzando il BCD, è molto semplice passare all' ASCII : basta sostituire il nibble alto con 3.
Allora un passaggio da BCD compresso ad ASCII sarà costituito dalle seguenti operazioni :

  • prendo il numero BCD compresso
  • scambio il nibble alto con il nibble basso
  • sostituisco il nibble alto con 3
  • mando il byte in stampa
  • riprendo il numero BCD compresso
  • sostituisco il nibble alto con 3
  • mando il byte in stampa

Se entro in questa procedura con il BCD = 25, avrò sul terminale la stampa delle cifre 2 e 5. Molto comodo.


 

Tabella ASCII  -  000-128

 dec hex char  dec hex char  dec hex char  dec hex char

  0 00  ^@ null   32 20  space   64 40    @       96  60   `
  1 01  ^A soh    33 21  !       65 41    A       97  61   a
  2 02  ^B stx    34 22  "       66 42    B       98  62   b
  3 03  ^C etx    35 23  #       67 43    C       99  63   c
  4 04  ^D eot    36 24  $       68 44    D      100  64   d
  5 05  ^E enq    37 25  %       69 45    E      101  65   e
  6 06  ^F ack    38 26  &       70 46    F      102  66   f
  7 07  ^G bel    39 27  '       71 47    G      103  67   g
  8 08  ^H bs     40 28  (       72 48    H      104  68   h
  9 09  ^I ht     41 29  )       73 49    I      105  69   i
 10 0A  ^J lf     42 2A  *       74 4A    J      106  6A   j
 11 0B  ^K vt     43 2B  +       75 4B    K      107  6B   k
 12 0C  ^L ff     44 2C  ,       76 4C    L      108  6C   l
 13 0D  ^M cr     45 2D  -       77 4D    M      109  6D   m
 14 0E  ^N so     46 2E  .       78 4E    N      110  6E   n
 15 0F  ^O si     47 2F  /       79 4F    O      111  6F   o
 16 10  ^P dle    48 30  0       80 50    P      112  70   p
 17 11  ^Q dc1    49 31  1       81 51    Q      113  71   q
 18 12  ^R dc2    50 32  2       82 52    R      114  72   r
 19 13  ^S dc3    51 33  3       83 53    S      115  73   s
 20 14  ^T dc4    52 34  4       84 54    T      116  74   t
 21 15  ^U nak    53 35  5       85 55    U      117  75   u
 22 16  ^V syn    54 36  6       86 56    V      118  76   v
 23 17  ^W etb    55 37  7       87 57    W      119  77   w
 24 18  ^X can    56 38  8       88 58    X      120  78   x
 25 19  ^Y em     57 39  9       89 59    Y      121  79   y
 26 1A  ^Z sub    58 3A  :       90 5A    Z      122  7A   z
 27 1B  ^[ esc    59 3B  ;       91 5B    [      123  7B   {
 28 1C  ^\ fs     60 3C  <       92 5C    \      124  7C   |
 29 1D  ^] gs     61 3D  =       93 5D    ]      125  7D   }
 30 1E  ^^ rs     62 3E  >       94 5E    ^      126  7E   ~
 31 1F  ^_ us     63 3F  ?       95 5F    _      127  7F   del

 

 


 

 

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 23/10/10.