ASCII

sistema di codifica dei caratteri a 7 bit
Disambiguazione – Se stai cercando l'omonima casa editrice giapponese, vedi ASCII Corporation.

ASCII è l'acronimo di American Standard Code for Information Interchange (ovvero Codice Standard Americano[1] per lo Scambio di Informazioni), pronuncia italiana[2] asci /ˈaʃʃi/, mentre in inglese askey /ˈæski/.

Esistono 95 caratteri ASCII stampabili, numerati da 32 a 126.

Lo standard ASCII è stato pubblicato dall'American National Standards Institute (ANSI) nel 1968.

Introduzione

 
Tabella ASCII

È un sistema di codifica dei caratteri a 7 bit, comunemente utilizzato nei calcolatori, proposto dall'ingegnere dell'IBM Bob Bemer nel 1961, e successivamente accettato come standard dall'ISO (ISO 646). Per non confonderlo con le estensioni a 8 bit proposte successivamente, questo codice viene talvolta riferito come US-ASCII.

Alla specifica iniziale basata su codici di 7 bit fecero seguito negli anni molte proposte di estensione ad 8 bit, con lo scopo di raddoppiare il numero di caratteri rappresentabili. Nei PC IBM si fa per l'appunto uso di una di queste estensioni, ormai standard di fatto, chiamata extended ASCII o high ASCII. In questo ASCII esteso, i caratteri aggiunti sono vocali accentate, simboli semigrafici e altri simboli di uso meno comune. I caratteri di ASCII esteso sono codificati nei cosiddetti codepage.

ASCII oggi

  Lo stesso argomento in dettaglio: UTF-8.

Attualmente, lo standard che sta prendendo piede e che dovrebbe essere il successore di ASCII è UTF-8, specie da quando è diventato la codifica principale di Unicode per internet secondo il W3C, che pur non impedendo altre codifiche (purché correttamente dichiarate), lo consiglia e lo usa quasi sistematicamente negli esempi del suo sito[3] fornendo anche le istruzioni per convertire i documenti (cosa che non fornisce per tutte le codifiche)[4]. Questa codifica di Unicode che ormai è universalmente accettata da ogni nuovo programma offre caratteristiche interessanti grazie al fatto di sfruttare il bit di controllo del vecchio ASCII in modo "furbo". Se da una parte lo prepara per la pensione, UTF-8 in un certo senso ha reso molto più longevo l'ASCII, inglobandolo intelligentemente in una codifica più adatta alle esigenze attuali. Infatti le comunicazioni sono in centinaia di lingue, ed inoltre diverse lingue possono convivere in uno stesso documento, o in uno stesso programma: si pensi ad un programma di messaggistica istantanea come Skype o uno dei vari messenger che possono contenere contatti di varie parti del mondo dei quali visualizzare correttamente i nomi.

UTF-8 infatti si distingue dalle altre codifiche Unicode perché sfrutta il vecchio bit di parità di ASCII non come bit di controllo, bensì come indicatore: analizza ogni byte, e se al posto del vecchio bit di parità c'è 0, allora il byte sarà letto come ASCII a 7 BIT e teoricamente compatibile anche da programmi obsoleti; se però il byte corrente inizia con 1, allora sarà concatenato al byte successivo (o ai successivi, in realtà il meccanismo è un poco più complesso). In tal modo riesce ad includere tutti gli alfabeti delle lingue viventi, di alcune morte e potenzialmente può essere esteso per rappresentarne ancora altri (infatti spesso viene aggiornato).

Il vantaggio è che è possibile scrivere un testo in italiano ed usare un numero di byte di poco maggiore rispetto ad una codifica di ASCII esteso (solo le lettere accentate occuperanno 2 byte); un testo cinese avrà ogni carattere di tre byte, con numeri, lettere, punteggiatura ed altri eventuali caratteri ASCII presenti nel testo di un solo byte.

Tabella dei caratteri

La tabella seguente è relativa al codice US ASCII, ANSI X3.4-1986 (ISO 646 International Reference Version). I codici decimali da 0 a 31 e il 127 sono caratteri non stampabili (codici di controllo). Il 32 corrisponde al carattere di "spazio". I codici dal 32 al 126 sono caratteri stampabili.

Non stampabili

Binario Decimale Descrizione
000 0000 0 Null character
000 0001 1 Start of Header
000 0010 2 Inizio del file
000 0011 3 Fine del file
000 0100 4 Fine della trasmissione
000 0101 5 Richiesta di conferma ricezione dati
000 0110 6 Conferma ricezione dati
000 0111 7 Segnale (sonoro o a video)
000 1000 8 Backspace (equivalente a Delete)
000 1001 9 Tabulazione orizzontale
000 1010 10 Linea a capo
000 1011 11 Tabulazione verticale
000 1100 12 Nuova pagina
000 1101 13 Ritorno del carrello (il cursore va a inizio riga)
000 1110 14 Shift Out
000 1111 15 Shift In
001 0000 16 Data Link Escape
001 0001 17 Device Control 1 (oft. XON)
001 0010 18 Device Control 2
001 0011 19 Device Control 3 (oft. XOFF)
001 0100 20 Device Control 4
001 0101 21 Ricezione dati non riuscita
001 0110 22 Synchronous Idle
001 0111 23 End of Trans. Block
001 1000 24 Cancel
001 1001 25 End of Medium
001 1010 26 Substitute
001 1011 27 Escape
001 1100 28 File Separator
001 1101 29 Group separator
001 1110 30 Record Separator
001 1111 31 Unit Separato
 
Tabella di conversione da esadecimale a caratteri
Binario Dec Glifo
010 0000 32 Spazio
010 0001 33 !
010 0010 34 "
010 0011 35 #
010 0100 36 $
010 0101 37 %
010 0110 38 &
010 0111 39 '
010 1000 40 (
010 1001 41 )
010 1010 42 *
010 1011 43 +
010 1100 44 ,
010 1101 45 -
010 1110 46 .
010 1111 47 /
011 0000 48 0
011 0001 49 1
011 0010 50 2
011 0011 51 3
011 0100 52 4
011 0101 53 5
011 0110 54 6
011 0111 55 7
011 1000 56 8
011 1001 57 9
011 1010 58 :
011 1011 59 ;
011 1100 60 <
011 1101 61 =
011 1110 62 >
011 1111 63 ?
Binario Dec Glifo
100 0000 64 @
100 0001 65 A
100 0010 66 B
100 0011 67 C
100 0100 68 D
100 0101 69 E
100 0110 70 F
100 0111 71 G
100 1000 72 H
100 1001 73 I
100 1010 74 J
100 1011 75 K
100 1100 76 L
100 1101 77 M
100 1110 78 N
100 1111 79 O
101 0000 80 P
101 0001 81 Q
101 0010 82 R
101 0011 83 S
101 0100 84 T
101 0101 85 U
101 0110 86 V
101 0111 87 W
101 1000 88 X
101 1001 89 Y
101 1010 90 Z
101 1011 91 [
101 1100 92 \
101 1101 93 ]
101 1110 94 ^
101 1111 95 _
Binario Dec Glifo
110 0000 96 `
110 0001 97 a
110 0010 98 b
110 0011 99 c
110 0100 100 d
110 0101 101 e
110 0110 102 f
110 0111 103 g
110 1000 104 h
110 1001 105 i
110 1010 106 j
110 1011 107 k
110 1100 108 l
110 1101 109 m
110 1110 110 n
110 1111 111 o
111 0000 112 p
111 0001 113 q
111 0010 114 r
111 0011 115 s
111 0100 116 t
111 0101 117 u
111 0110 118 v
111 0111 119 w
111 1000 120 x
111 1001 121 y
111 1010 122 z
111 1011 123 {
111 1100 124 |
111 1101 125 }
111 1110 126 ~

Curiosità

Note

  1. ^ L'ASCII contiene solo i caratteri dell'alfabeto inglese e come simbolo di valuta solo il dollaro, quindi la traduzione corretta in italiano è "statunitense" (in inglese manca la distinzione tra "statunitense" e "americano"). Pur non contando le lingue native americane, l'ASCII non ha le lettere per portoghese, francese e spagnolo (né le valute per le altre nazioni americane).
  2. ^ ASCII, in Treccani.it – Vocabolario Treccani on line, Roma, Istituto dell'Enciclopedia Italiana.
  3. ^ Character encodings
  4. ^ Changing (X)HTML page encoding to UTF-8

Voci correlate

Altri progetti

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

Template:Link V

Template:Link AdQ