EBCDIC, Extended Binary Coded Decimal Interchange Code, è stato sviluppato nel 1963 da IBM come estensione del vecchio standard Binary Coded Decimal (BCD). BCD codifica le 10 cifre del sistema di conteggio standard utilizzando 4 contatori binari, o bit, dove un singolo bit può essere un 1 o uno 0.
BCD per caratteri numerici
Cifra
EBCDIC
0/0000
1/0001
2/0010
3/0011
4/0100
5/0101
6/0110
7/0111
8/1000
9/1001
Stabilindo BCD come standard, IBM ha consentito agli utenti di spostare i dati condivisi tra computer con l’uso di schede perforate. Le radici del BCD risiedono, infatti, nella disposizione di righe e colonne delle schede perforate originali per computer di IBM. Con EBCDIC, IBM ha esteso l’approccio a 8 bit, consentendo la codifica non solo di cifre, ma anche di lettere maiuscole e minuscole, codici di formattazione come intestazioni e ritorni a capo e controlli di comunicazione di base come Request, Acknowledge e Bell. Ciò ha consentito agli utenti dei computer mainframe IBM di condividere non solo i dati, ma anche il codice di programmazione effettivo.
EBCDIC è largo otto bit o un byte. Ogni byte è costituito da due nibble, ciascuno largo quattro bit. I primi quattro bit definiscono la classe del carattere, mentre il secondo nibble definisce il carattere specifico all’interno di quella classe. Ad esempio, l’impostazione del primo nibble su tutti uno, 1111, definisce il carattere come un numero e il secondo nibble definisce quale numero è codificato.
Negli ultimi anni, EBCDIC è stato ampliato a varianti a 16 e 32 bit per consentire la rappresentazione di grandi set di caratteri non latini. Ogni variante EBCDIC è nota come codepage, identificata dal suo Coded Character Set Identifier o CCSID. Le codepage EBCDIC sono state create per una serie di importanti script di scrittura, inclusi quelli complessi come cinese, coreano e giapponese.
Tutti i computer mainframe IBM, anche i modelli più recenti, continuano a supportare EBCDIC in modo che le applicazioni legacy possano essere eseguite senza modifiche.