Codifica ASCII: Testo, Decimale, Hex, Binario e Ottale
ASCII mappa ogni carattere stampabile a un numero tra 0 e 127. Capire quei numeri in decimale, hex, binario e ottale è una competenza a cui ogni sviluppatore ricorre più spesso del previsto.
Cos'è ASCII?
ASCII sta per American Standard Code for Information Interchange. Pubblicato nel 1963, definisce una mappatura tra 128 caratteri e gli interi da 0 a 127. Questi 128 caratteri coprono l'alfabeto inglese (maiuscolo e minuscolo), le cifre 0–9, la punteggiatura e 33 caratteri di controllo come il ritorno a capo, il tab e il ritorno del carrello.
Perché gli sviluppatori hanno ancora bisogno di ASCII
- Leggere file binari: In un editor hex, il pannello destro mostra l'interpretazione ASCII di ogni byte. Sapere che
0x48 0x54 0x54 0x50significa "HTTP" dà orientamento immediato. - Debug di protocolli di rete: Il traffico TCP e HTTP grezzo è testo ASCII. Una cattura di pacchetti diventa leggibile una volta che si conosce la tabella.
- URL encoding: Lo spazio è ASCII 32 (
0x20), per questo in un URL diventa%20. Il segno percentuale è seguito dal valore hex del codice ASCII. - Sequenze di escape:
\nè ASCII 10,\tè ASCII 9,\rè ASCII 13. - Sistemi legacy: Mainframe, firmware embedded e protocolli seriali furono progettati intorno ad ASCII.
I quattro sistemi numerici in un solo esempio
La lettera A è l'esempio più pulito perché i suoi valori sono facili da ricordare in tutti e quattro i sistemi.
| Sistema | Valore per "A" | Come leggerlo |
|---|---|---|
| Decimale | 65 | Base 10, il sistema di conteggio comune |
| Esadecimale | 0x41 | Base 16; 4×16 + 1 = 65 |
| Binario | 01000001 | Base 2; i bit reali in memoria |
| Ottale | 101 | Base 8; 1×64 + 0×8 + 1 = 65 |
La a minuscola è il decimale 97 (0x61). La differenza tra maiuscolo e minuscolo è esattamente 32 — lo stesso valore dello spazio. Non è un caso: è una scelta di design deliberata che rende la conversione maiuscolo/minuscolo un semplice cambio di bit.
Esempi pratici
URL Encoding
Quando un browser codifica un URL, prende il valore ASCII di ogni carattere non sicuro e lo scrive come segno percentuale seguito da due cifre hex. Spazio (ASCII 32 = 0x20) diventa %20. Usa il Codificatore/Decodificatore URL per codificare o decodificare qualsiasi stringa URL.
Sequenze di escape
\n— ASCII 10, a capo\r— ASCII 13, ritorno del carrello (fine riga Windows:\r\n)\t— ASCII 9, tabulazione orizzontale\0— ASCII 0, null (terminatore di stringa in C)\x41— Escape hex; ASCII 65 = "A"
ASCII esteso e Unicode
L'ASCII standard copre 128 caratteri, abbastanza per l'inglese ma non per le altre lingue. Vari schemi di "ASCII esteso" usarono l'8° bit per aggiungere altri 128 caratteri. Il problema: non c'era uno standard unico. La code page 437, Latin-1 e Windows-1252 usavano lo stesso intervallo di byte per caratteri diversi.
Unicode ha risolto questo assegnando un numero univoco a ogni carattere di ogni sistema di scrittura. UTF-8 è retrocompatibile con ASCII: i primi 128 code point Unicode sono identici ad ASCII.
Strumenti correlati
Il Convertitore da Binario a Testo converte stringhe binarie grezze in testo leggibile. Per conversioni tra basi numeriche, il Convertitore di Base Numerica gestisce decimale, hex, binario e ottale.
Domande frequenti
Qual è il valore ASCII dello spazio?
Lo spazio è ASCII 32 (decimale), 0x20 (hex), 00100000 (binario). È il carattere ASCII stampabile più basso.
Perché "A" è il decimale 65?
I valori 0–31 sono riservati ai caratteri di controllo, e 32 è lo spazio. I caratteri stampabili iniziano a 33. Le cifre 0–9 sono alle posizioni 48–57, le lettere A–Z a 65–90 e le a–z a 97–122.
Qual è la differenza tra ASCII e Unicode?
ASCII definisce 128 caratteri; Unicode ne definisce oltre 140.000. I primi 128 code point Unicode sono identici ad ASCII, quindi il testo ASCII codificato in UTF-8 è byte per byte identico all'ASCII semplice.
Converti qualsiasi testo in ASCII ora
Incolla qualsiasi testo e vedi istantaneamente i valori decimale, hex, binario e ottale di ogni carattere.