ASCII, EBCDIC, ISO, and Other Computer Codes (Part 3)
![]() |
0.0 (0) |
Digital computers represent and manipulate all forms of data as a collection of numerical values. In the case of text, alphanumerical and punctuation characters are each assigned a numerical equivalent, and this collection of character-to-number mappings is referred to as a "code." In this, the third installment of our mini-series, we ponder EBCDIC character codes.
Just to set the scene: In Part 1 we considered the concept of codes in general; in Part 2 we took a look at the ASCII convention; and in Part 4 we will consider "Chunky Graphics Codes," ISO and Unicode, and also provide links to some suggested further reading.
The EBCDIC Code
The ASCII code discussed in Part 2 of this mini-series was quickly adopted by the majority of American computer manufacturers, and was eventually turned into an international standard (see also the discussions on ISO and Unicode later in this paper.) However, IBM already had its own six-bit code called BCDIC (Binary Coded Decimal Interchange Code). Thus, IBM decided to go its own way, and it developed a proprietary 8-bit code called the Extended Binary Coded Decimal Interchange Code (EBCDIC).
Pronounced "eb-sea-dick" by some and "eb-sid-ick" by others, EBCDIC was first used on the IBM 360 computer, which was presented to the market in 1964. As was noted in our earlier discussions, one of the really nice things about ASCII is that all of the alpha characters are numbered sequentially. In turn, this means that we can perform programming tricks like saying "char = 'A' + 23" and have a reasonable expectation of ending up with the letter 'X'. To cut a long story short, if you were thinking of doing this with EBCDIC ... don't. The reason we say this is apparent from the table shown in Figure 3-1.

Figure 3-1. EBCDIC character codes.
A brief glance at this illustration shows just why EBCDIC can be such a pain to use – the alphabetic characters don't have sequential codes. That is, the letters 'A' through 'I' occupy codes $C1 to $C9, 'J' through 'R' occupy codes $D1 to $D9, and 'S' through 'Z' occupy codes $E2 to $E9 (and similarly for the lowercase letters). Thus, performing programming tricks such as using the expression ('A' + 23) is somewhat annoying with EBCDIC. Another nuisance is that EBCDIC doesn't contain all of the ASCII codes, which makes transferring text files between the two representations somewhat problematical.
Once again, in addition to the standard alphanumeric characters ('a'...'z', 'A'...'Z' and '0'...'9'), punctuation characters (comma, period, semi-colon, ...), and special characters ('!', '#', '%', ...), EBCDIC includes a lot of strange mnemonics, such as ACK, NAK, and BEL, which were designed for communications purposes. Some of these codes are still used today, while others are, generally speaking, of historical interest only. A slightly more detailed breakdown of these codes is presented in Figure 3-2 for your edification and delight.

Figure 3-2. EBCDIC control codes.
As one final point of interest, different countries have different character requirements, such as the á, ê, and ü characters. Due to the fact that IBM sold its computer systems around the world, it had to create multiple versions of EBCDIC. In fact, 57 different national variants were eventually wending their way across the planet. (A "standard" with 57 variants! You can only imagine how much fun everybody had when transferring files from one country to another).
OK, we're almost finished... in Part 4 (the final portion – hurray!) of this mini-series we will introduce the concepts of ISO, Unicode, and "Chunky Graphics" codes.
User reviews
To write a review please register or login.






