[>a2164.html>] [<a2162.html<] [^a2.html^]
In questo capitolo si raccolgono le descrizioni di alcuni esempi di insiemi di caratteri codificati e di forme codificate del carattere tradizionali. È il caso di ricordare che nella sezione 245.1.1 viene descritto il funzionamento del programma di servizio recode, specializzato nella conversione dei file di testo.
L'ASCII è una codifica molto semplice, in cui ogni punto di codifica corrisponde direttamente a un gruppo di 7 bit, inteso come un intero senza segno, senza bisogno di trasformazioni. Sulla base di questa codifica si sono sviluppate molte varianti, soprattutto a 8 bit. Tuttavia, oggi, quando si parla di ASCII si tende a fare riferimento prevalentemente allo standard originale, in cui si utilizzavano valori compresi tra 0 e 127, per rappresentare i quali bastano solo 7 bit. Eventualmente, volendo essere precisi, per fare riferimento all'ASCII tradizionale si può utilizzare la denominazione «US-ASCII».
L'ASCII non si occupa solo di definire la codifica dei segni tipografici, ma include anche dei codici di controllo, ai quali abbina un nome, ma senza potervi attribuire un significato univoco valido in tutti i contesti. Si tratta dei punti di codifica da 0 a 31 e del 127 in decimale (il punto di codifica 32 rappresenta lo spazio normale).
Le tabelle da 127.1 a 127.4 mostrano nel dettaglio la codifica ASCII.
Binario | Esadecimale | Ottale | Decimale | Carattere | |
000000002 | 0016 | 0008 | 00010 | <NUL> | \0 |
000000012 | 0116 | 0018 | 00110 | <SOH> | |
000000102 | 0216 | 0028 | 00210 | <STX> | |
000000112 | 0316 | 0038 | 00310 | <ETX> | |
000001002 | 0416 | 0048 | 00410 | <EOT> | |
000001012 | 0516 | 0058 | 00510 | <ENQ> | |
000001102 | 0616 | 0068 | 00610 | <ACK> | |
000001112 | 0716 | 0078 | 00710 | <BEL> | \a |
000010002 | 0816 | 0108 | 00810 | <BS> | \b |
000010012 | 0916 | 0118 | 00910 | <HT> | \t |
000010102 | 0A16 | 0128 | 01010 | <LF> | \n |
000010112 | 0B16 | 0138 | 01110 | <VT> | \v |
000011002 | 0C16 | 0148 | 01210 | <FF> | \f |
000011012 | 0D16 | 0158 | 01310 | <CR> | \r |
000011102 | 0E16 | 0168 | 01410 | <SO> | |
000011112 | 0F16 | 0178 | 01510 | <SI> | |
000100002 | 1016 | 0208 | 01610 | <DLE> | |
000100012 | 1116 | 0218 | 01710 | <DC1> | |
000100102 | 1216 | 0228 | 01810 | <DC2> | |
000100112 | 1316 | 0238 | 01910 | <DC3> | |
000101002 | 1416 | 0248 | 02010 | <DC4> | |
000101012 | 1516 | 0258 | 02110 | <NAK> | |
000101102 | 1616 | 0268 | 02210 | <SYN> | |
000101112 | 1716 | 0278 | 02310 | <ETB> | |
000110002 | 1816 | 0308 | 02410 | <CAN> | |
000110012 | 1916 | 0318 | 02510 | <EM> | |
000110102 | 1A16 | 0328 | 02610 | <SUB> | |
000110112 | 1B16 | 0338 | 02710 | <ESC> | |
000111002 | 1C16 | 0348 | 02810 | <FS> | |
000111012 | 1D16 | 0358 | 02910 | <GS> | |
000111102 | 1E16 | 0368 | 03010 | <RS> | |
000111112 | 1F16 | 0378 | 03110 | <US> | |
001000002 | 2016 | 0408 | 03210 | <SP> |
Tabella 127.1. US-ASCII (ISO 646).
Binario | Esadecimale | Ottale | Decimale | Carattere | |
001000012 | 2116 | 0418 | 03310 | ! | |
001000102 | 2216 | 0428 | 03410 | " | |
001000112 | 2316 | 0438 | 03510 | # | |
001001002 | 2416 | 0448 | 03610 | $ | |
001001012 | 2516 | 0458 | 03710 | % | |
001001102 | 2616 | 0468 | 03810 | & | |
001001112 | 2716 | 0478 | 03910 | ' | |
001010002 | 2816 | 0508 | 04010 | ( | |
001010012 | 2916 | 0518 | 04110 | ) | |
001010102 | 2A16 | 0528 | 04210 | * | |
001010112 | 2B16 | 0538 | 04310 | + | |
001011002 | 2C16 | 0548 | 04410 | , | |
001011012 | 2D16 | 0558 | 04510 | - | |
001011102 | 2E16 | 0568 | 04610 | . | |
001011112 | 2F16 | 0578 | 04710 | / | |
001100002 | 3016 | 0608 | 04810 | 0 | |
001100012 | 3116 | 0618 | 04910 | 1 | |
001100102 | 3216 | 0628 | 05010 | 2 | |
001100112 | 3316 | 0638 | 05110 | 3 | |
001101002 | 3416 | 0648 | 05210 | 4 | |
001101012 | 3516 | 0658 | 05310 | 5 | |
001101102 | 3616 | 0668 | 05410 | 6 | |
001101112 | 3716 | 0678 | 05510 | 7 | |
001110002 | 3816 | 0708 | 05610 | 8 | |
001110012 | 3916 | 0718 | 05710 | 9 | |
001110102 | 3A16 | 0728 | 05810 | : | |
001110112 | 3B16 | 0738 | 05910 | ; | |
001111002 | 3C16 | 0748 | 06010 | < | |
001111012 | 3D16 | 0758 | 06110 | = | |
001111102 | 3E16 | 0768 | 06210 | > | |
001111112 | 3F16 | 0778 | 06310 | ? | |
010000002 | 4016 | 1008 | 06410 | @ |
Tabella 127.2. US-ASCII (ISO 646).
Binario | Esadecimale | Ottale | Decimale | Carattere | |
010000012 | 4116 | 1018 | 06510 | A | |
010000102 | 4216 | 1028 | 06610 | B | |
010000112 | 4316 | 1038 | 06710 | C | |
010001002 | 4416 | 1048 | 06810 | D | |
010001012 | 4516 | 1058 | 06910 | E | |
010001102 | 4616 | 1068 | 07010 | F | |
010001112 | 4716 | 1078 | 07110 | G | |
010010002 | 4816 | 1108 | 07210 | H | |
010010012 | 4916 | 1118 | 07310 | I | |
010010102 | 4A16 | 1128 | 07410 | J | |
010010112 | 4B16 | 1138 | 07510 | K | |
010011002 | 4C16 | 1148 | 07610 | L | |
010011012 | 4D16 | 1158 | 07710 | M | |
010011102 | 4E16 | 1168 | 07810 | N | |
010011112 | 4F16 | 1178 | 07910 | O | |
010100002 | 5016 | 1208 | 08010 | P | |
010100012 | 5116 | 1218 | 08110 | S | |
010100102 | 5216 | 1228 | 08210 | R | |
010100112 | 5316 | 1238 | 08310 | S | |
010101002 | 5416 | 1248 | 08410 | T | |
010101012 | 5516 | 1258 | 08510 | U | |
010101102 | 5616 | 1268 | 08610 | V | |
010101112 | 5716 | 1278 | 08710 | W | |
010110002 | 5816 | 1308 | 08810 | X | |
010110012 | 5916 | 1318 | 08910 | Y | |
010110102 | 5A16 | 1328 | 09010 | Z | |
010110112 | 5B16 | 1338 | 09110 | [ | |
010111002 | 5C16 | 1348 | 09210 | \ | \\ |
010111012 | 5D16 | 1358 | 09310 | ] | |
010111102 | 5E16 | 1368 | 09410 | ^ | |
010111112 | 5F16 | 1378 | 09510 | _ | |
011000002 | 6016 | 1408 | 09610 | ` |
Tabella 127.3. US-ASCII (ISO 646).
Binario | Esadecimale | Ottale | Decimale | Carattere | |
011000012 | 6116 | 1418 | 09710 | a | |
011000102 | 6216 | 1428 | 09810 | b | |
011000112 | 6316 | 1438 | 09910 | c | |
011001002 | 6416 | 1448 | 10010 | d | |
011001012 | 6516 | 1458 | 10110 | e | |
011001102 | 6616 | 1468 | 10210 | f | |
011001112 | 6716 | 1478 | 10310 | g | |
011010002 | 6816 | 1508 | 10410 | h | |
011010012 | 6916 | 1518 | 10510 | i | |
011010102 | 6A16 | 1528 | 10610 | j | |
011010112 | 6B16 | 1538 | 10710 | k | |
011011002 | 6C16 | 1548 | 10810 | l | |
011011012 | 6D16 | 1558 | 10910 | m | |
011011102 | 6E16 | 1568 | 11010 | n | |
011011112 | 6F16 | 1578 | 11110 | o | |
011100002 | 7016 | 1608 | 11210 | p | |
011100012 | 7116 | 1618 | 11310 | q | |
011100102 | 7216 | 1628 | 11410 | r | |
011100112 | 7316 | 1638 | 11510 | s | |
011101002 | 7416 | 1648 | 11610 | t | |
011101012 | 7516 | 1658 | 11710 | u | |
011101102 | 7616 | 1668 | 11810 | v | |
011101112 | 7716 | 1678 | 11910 | w | |
011110002 | 7816 | 1708 | 12010 | x | |
011110012 | 7916 | 1718 | 12110 | y | |
011110102 | 7A16 | 1728 | 12210 | z | |
011110112 | 7B16 | 1738 | 12310 | { | |
011111002 | 7C16 | 1748 | 12410 | | | |
011111012 | 7D16 | 1758 | 12510 | } | |
011111102 | 7E16 | 1768 | 12610 | ~ | |
011111112 | 7F16 | 1778 | 12710 | <DEL> |
Tabella 127.4. US-ASCII (ISO 646).
Le codifiche ISO 8859-n, dove n è un numero da 1 a 15, rappresentano per il passato l'evoluzione più coerente dell'ASCII, in quanto utilizzano tutte gli stessi punti di codifica iniziali da 0 a 127, corrispondenti esattamente all'ASCII originale.
Come nel caso dell'ASCII, non c'è distinzione tra punto di codifica e forma codificata del carattere; in questa situazione si usano valori fino a 255, attraverso un byte intero.
Le codifiche ISO 8859-n introducono altri codici di controllo, nell'intervallo di punti di codifica che va da 128 a 159.
Per quanto riguarda le lingue occidentali, la codifica ISO 8859 più comune è ISO 8859-1, conosciuta anche come ISO Latin 1, che comunque, nel prossimo futuro potrebbe essere sostituita da ISO 8859-15 (ISO Latin 9), in cui si inserisce il simbolo dell'Euro al posto del simbolo di valuta generico.
Le figure da 127.1 a 127.3 mostrano nel dettaglio la codifica ISO 8859-1. Si tenga presente che nel caso di ISO 8859-15, il punto di codifica 164 viene abbinato al simbolo dell'Euro.
Figura 127.1. ISO 8859-1 prima parte. |
Figura 127.2. ISO 8859-1 seconda parte. |
Figura 127.3. ISO 8859-1 terza parte. |
Jukka Korpela, A tutorial on character code issue
Jukka Korpela, The ISO Latin 1 character repertoire - a description with usage and notes
Roman Czyborra, The ISO 8859 Alphabet Soup
Roman Czyborra, Codepages & Co.