+ , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 01010110 01010111 01011000 01011001 01011010 01011011 01011100 01011101 01011110 01011111 01100000 01100001 01100010 01100011 01100100 01100101 01100110 01100111 01101000 01101001 01101010 01101011 01101100 01101101 01101110 01101111 01110000 01110001 01110010 01110011 01110100 01110101 01110110 01110111 01111000 01111001 01111010 01111011 01111100 01111101 01111110 01111111 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F ASCII 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 ESADECIMALE 00101011 00101100 00101101 00101110 00101111 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001 00111010 00111011 00111100 00111101 00111110 00111111 01000000 01000001 01000010 01000011 01000100 01000101 01000110 01000111 01001000 01001001 01001010 01001011 01001100 01001101 01001110 01001111 01010000 01010001 01010010 01010011 01010100 01010101 BINARIO 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 DECIMALE nul soh stx etx eot enq ack bel bs ht If vt ff cr so si dle dc1 dc2 dc3 dc4 nak syn etb can em sub esc fs gs rs us spazio ! " # $ % & ' ( ) * ASCII ASCII 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A ESADECIMALE ESADECIMALE 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110 00001111 00010000 00010001 00010010 00010011 00010100 00010101 00010110 00010111 00011000 00011001 00011010 00011011 00011100 00011101 00011110 00011111 00100000 00100001 00100010 00100011 00100100 00100101 00100110 00100111 00101000 00101001 00101010 BINARIO BINARIO 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 DECIMALE DECIMALE Tabella dei codici ASCII standard V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ Il codice ASCII (American Standard Code for Information Interchange) fu inventato da Bob Bemer, ingegnere dell’IBM, nel 1961. Nel 1968 diventò definitivo. Noto anche con la sigla ISO 646 (dal 1972) nella sua versione standard è un codice a 7 bit (128 caratteri diversi dal decimale 0 al decimale 127) e l’ottavo bit, quello più a sinistra in ogni configurazione binaria, era utilizzato per il controllo degli errori di trasmissione. I primi 32 caratteri sono caratteri di controllo. Gli altri caratteri comprendono il carattere spazio (barra spaziatrice), tutti i simboli di punteggiatura, le lettere maiuscole e minuscole dell’alfabeto inglese, le parentesi tonde, quadrate e graffe, i simboli delle operazioni, i simboli di confronto >, <, = … . Nei computer attuali l’ottavo bit, sempre quello più a sinistra in ogni configurazione binaria, è utilizzato per estendere il set delle combinazioni a 256 caratteri; in questo caso si parla di codice ASCII-esteso. Sono stati creati diversi codici (Tabelle) che hanno tutti i primi 128 caratteri uguali alla tabella ASCII-standard e i successivi 128 (dal decimale 128 al decimale 255) rappresentano tutti i caratteri utilizzati nelle diverse lingue dei paesi europei. Nella tabella standard, infatti, non compaiono le nostre lettere accentate (à, é, è, ì, …) e neppure le lettere della lingua tedesca (ö,ï,ß, …..) o della lingua francese (ê, ô, ç, ….) L’ISO (International Standards Organization) ha così assegnato le seguenti sigle dal 1985 (alcuni esempi): ISO-8859-1 noto anche come ISO-latin-1 che contiene i primi 128 caratteri della tabella ASCII-standard più tutti i caratteri utilizzati nelle lingue dei paesi dell’Europa Occidentale: Italia, Francia, Spagna, Portogallo, Germania, Danimarca, Inghilterra, …. ISO-8859-2 noto anche come ISO-latin-2 che contiene i primi 128 caratteri della tabella ASCII-standard più tutti i caratteri utilizzati nelle lingue dei paesi dell’Europa dell’est e del centro: Repubblica Ceca, Slovacchia, Ungheria, Polonia, … ……… ISO-8859-6 arabo ISO-8859-7 greco ……… ISO-8859-15 latin-0 come aggiornamento del codice ISO-8859-1 che non aveva previsto il simbolo dell’euro. Il codice UNICODE (ISO 10646) Il codice ASCII a 8 bit non è adatto alle lingue orientali che usano migliaia di ideogrammi, ciascuno dei quali corrisponde a una parola o a un intero concetto e non ad un singolo suono (ad esempio una lettera dell’alfabeto). Il codice Unicode è un sistema di codifica dei caratteri a 16 bits (65.536 caratteri) messo a punto nel 1991 e comprende le lettere di tutti gli alfabeti, molti simboli speciali e gli ideogrammi CJK (cinese, giapponese e coreano). I primi 256 caratteri coincidono con l’ISO-8859-1 rappresentati su 16 bits anziché su 8 (per esempio la A che è rappresentata da 41h (8 bit 01000001) ASCII, nel codice UNICODE è rappresentata con 0041h (16 bits 0000000001000001). Lo sviluppo del codice Unicode è coordinato da un’organizzazione senza scopo di lucro conosciuta con il nome Consorzio di Unicode. Dal 2008 Unicode è la codifica più spesso impostata per le pagine web. Questo è dovuto proprio al fatto che supporta i simboli e gli alfabeti delle lingue più diverse: coreano, cinese, giapponese, arabo, ma anche le lingue nordeuropee o il russo, rendendo comprensibili tutti i documenti che circolano in Internet. Per l’universalità che offre, il codice Unicode è stato adottato da molti leader dei settori dell'informatica quali Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys e tanti altri. Alcuni esempi di codice UNICODE Standard ver.5.2 C0 Controls and Basic Latin Range: 0000-007F Cyrillic range:0400 - 04FF Arabic Range: 0600-06FF