Extended Binary Coded Decimal Interchange Code
The Extended Binary Coded Decimal Interchange Code ( EBCDIC , analogously "extended exchange code for binary coded decimal digits") is an 8-bit character coding developed by IBM , in which, however, not all code words are used. The EBCDIC arose from the older Binary Coded Decimal Interchange Code ( BCDIC ), which in turn is based on the 4-bit code BCD ( Binary Coded Decimal ).
EBCDIC is used almost exclusively on mainframes . The EBCDIC code page is available in various variants. The historical connection with the 80-character punched card coding from IBM can be seen, in which the letters A – I, J – R and S – Z use positions 1 to 9 or 2 to 9 in the numerical zone. One consequence of this is that - in contrast to the ASCII character set - the letters A – Z do not follow one another without gaps, which makes alphabetical sorting more complicated.
Similar to the way the Unicode Transformation Format UTF-8 represents an encoding of Unicode while retaining the encoding of the ASCII character set, there is a Unicode encoding that is based on EBCDIC. This format is called UTF-EBCDIC .
Overview: EBCDIC code pages with Latin-1 character set
Code page | Code page with € sign |
countries |
---|---|---|
037 | 1140 | Australia, Brazil, Canada, New Zealand, Portugal, South Africa, USA |
273 | 1141 | Germany, Austria |
277 | 1142 | Denmark, Norway |
278 | 1143 | Finland, Sweden |
280 | 1144 | Italy |
284 | 1145 | Latin America, Spain |
285 | 1146 | Great Britain and Northern Ireland, Ireland |
297 | 1147 | France |
500 | 1148 | International |
871 | 1149 | Iceland |
1047 | Open systems (MVS C compiler) | |
EDF03DRV | Germany ( BS2000 / OSD ) |
EBCDIC 500
EBCDIC 500 is a variant of the EBCDIC code. It is used to represent the international character set, practically exclusively on IBM mainframes.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4… | â | Ä | à | á | ã | å | ç | ñ | [ | . | < | ( | + | ! | 4… (4 hex = 0100 bin ) | ||
5… | & | é | ê | ë | è | í | î | ï | ì | ß | ] | $ | * | ) | ; | ^ | 5 ... (5 hex = 0101 bin ) |
6… | - | / | Â | Ä | À | Á | Ã | Å | Ç | Ñ | ¦ | , | % | _ | > | ? | 6… (6 hex = 0110 bin ) |
7… | O | É | Ê | Ë | È | Í | Î | Ï | Ì | ` | : | # | @ | ' | = | " | 7… (7 hex = 0111 bin ) |
8th… | O | a | b | c | d | e | f | G | H | i | « | » | ð | ý | þ | ± | 8… (8 hex = 1000 bin ) |
9 ... | ° | j | k | l | m | n | O | p | q | r | ª | º | æ | ¸ | Æ | ¤ | 9 ... (9 hex = 1001 bin ) |
A ... | µ | ~ | s | t | u | v | w | x | y | z | ¡ | ¿ | Ð | Ý | Þ | ® | A… (A hex = 1010 bin ) |
B ... | ¢ | £ | ¥ | · | © | § | ¶ | ¼ | ½ | ¾ | ¬ | | | ¯ | ¨ | ´ | × | B ... (B hex = 1011 bin ) |
C ... | { | A. | B. | C. | D. | E. | F. | G | H | I. | O | ö | O | O | O | C… (C hex = 1100 bin ) | |
D ... | } | J | K | L. | M. | N | O | P | Q | R. | ¹ | û | ü | ù | ú | ÿ | D ... (D hex = 1101 bin ) |
E ... | \ | ÷ | S. | T | U | V | W. | X | Y | Z | ² | O | Ö | O | O | O | E… (E hex = 1110 bin ) |
F ... | 0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | ³ | Û | Ü | Ù | Ú | F ... (F hex = 1111 bin ) | |
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
- 40 hex : space
- 41 hex : protected space
- CA hex : soft / short hyphen
- FF hex : control character (EBCDIC)
EBCDIC 273
EBCDIC 273 is a variant of the EBCDIC code. It is used to represent the German language character set, practically exclusively on IBM mainframes.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4… | â | { | à | á | ã | å | ç | ñ | Ä | . | < | ( | + | ! | 4… (4 hex = 0100 bin ) | ||
5… | & | é | ê | ë | è | í | î | ï | ì | ~ | Ü | $ | * | ) | ; | ^ | 5 ... (5 hex = 0101 bin ) |
6… | - | / | Â | [ | À | Á | Ã | Å | Ç | Ñ | ö | , | % | _ | > | ? | 6… (6 hex = 0110 bin ) |
7… | O | É | Ê | Ë | È | Í | Î | Ï | Ì | ` | : | # | § | ' | = | " | 7… (7 hex = 0111 bin ) |
8th… | O | a | b | c | d | e | f | G | H | i | « | » | ð | ý | þ | ± | 8… (8 hex = 1000 bin ) |
9 ... | ° | j | k | l | m | n | O | p | q | r | ª | º | æ | ¸ | Æ | ¤ | 9 ... (9 hex = 1001 bin ) |
A ... | µ | ß | s | t | u | v | w | x | y | z | ¡ | ¿ | Ð | Ý | Þ | ® | A… (A hex = 1010 bin ) |
B ... | ¢ | £ | ¥ | · | © | @ | ¶ | ¼ | ½ | ¾ | ¬ | | | ¯ | ¨ | ´ | × | B ... (B hex = 1011 bin ) |
C ... | Ä | A. | B. | C. | D. | E. | F. | G | H | I. | O | ¦ | O | O | O | C… (C hex = 1100 bin ) | |
D ... | ü | J | K | L. | M. | N | O | P | Q | R. | ¹ | û | } | ù | ú | ÿ | D ... (D hex = 1101 bin ) |
E ... | Ö | ÷ | S. | T | U | V | W. | X | Y | Z | ² | O | \ | O | O | O | E… (E hex = 1110 bin ) |
F ... | 0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | ³ | Û | ] | Ù | Ú | F ... (F hex = 1111 bin ) | |
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
- 40 hex : space
- 41 hex : protected space
- CA hex : soft / short hyphen
- FF hex : control character (EBCDIC)
EBCDIC 037
EBCDIC 037 is a variant of the EBCDIC code. It is used (practically exclusively on IBM mainframes) to represent the character set of the English and Portuguese languages.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4… | â | Ä | à | á | ã | å | ç | ñ | ¢ | . | < | ( | + | | | 4… (4 hex = 0100 bin ) | ||
5… | & | é | ê | ë | è | í | î | ï | ì | ß | ! | $ | * | ) | ; | ¬ | 5 ... (5 hex = 0101 bin ) |
6… | - | / | Â | Ä | À | Á | Ã | Å | Ç | Ñ | ¦ | , | % | _ | > | ? | 6… (6 hex = 0110 bin ) |
7… | O | É | Ê | Ë | È | Í | Î | Ï | Ì | ` | : | # | @ | ' | = | " | 7… (7 hex = 0111 bin ) |
8th… | O | a | b | c | d | e | f | G | H | i | « | » | ð | ý | þ | ± | 8… (8 hex = 1000 bin ) |
9 ... | ° | j | k | l | m | n | O | p | q | r | ª | º | æ | ¸ | Æ | ¤ | 9 ... (9 hex = 1001 bin ) |
A ... | µ | ~ | s | t | u | v | w | x | y | z | ¡ | ¿ | Ð | Ý | Þ | ® | A… (A hex = 1010 bin ) |
B ... | ^ | £ | ¥ | · | © | § | ¶ | ¼ | ½ | ¾ | [ | ] | ¯ | ¨ | ´ | × | B ... (B hex = 1011 bin ) |
C ... | { | A. | B. | C. | D. | E. | F. | G | H | I. | O | ö | O | O | O | C… (C hex = 1100 bin ) | |
D ... | } | J | K | L. | M. | N | O | P | Q | R. | ¹ | û | ü | ù | ú | ÿ | D ... (D hex = 1101 bin ) |
E ... | \ | ÷ | S. | T | U | V | W. | X | Y | Z | ² | O | Ö | O | O | O | E… (E hex = 1110 bin ) |
F ... | 0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | ³ | Û | Ü | Ù | Ú | F ... (F hex = 1111 bin ) | |
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
- 40 hex : space
- 41 hex : protected space
- CA hex : soft / short hyphen
- FF hex : control character (EBCDIC)
EBCDIC 1140
EBCDIC 1140 is a variant of the EBCDIC code. It is used (practically exclusively on IBM mainframes) to represent the character set of the English and Portuguese languages. It corresponds to code page 037 and differs from it only in position 9F, where the euro symbol € is used instead of the international currency symbol ¤.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4… | â | Ä | à | á | ã | å | ç | ñ | ¢ | . | < | ( | + | | | 4… (4 hex = 0100 bin ) | ||
5… | & | é | ê | ë | è | í | î | ï | ì | ß | ! | $ | * | ) | ; | ¬ | 5 ... (5 hex = 0101 bin ) |
6… | - | / | Â | Ä | À | Á | Ã | Å | Ç | Ñ | ¦ | , | % | _ | > | ? | 6… (6 hex = 0110 bin ) |
7… | O | É | Ê | Ë | È | Í | Î | Ï | Ì | ` | : | # | @ | ' | = | " | 7… (7 hex = 0111 bin ) |
8th… | O | a | b | c | d | e | f | G | H | i | « | » | ð | ý | þ | ± | 8… (8 hex = 1000 bin ) |
9 ... | ° | j | k | l | m | n | O | p | q | r | ª | º | æ | ¸ | Æ | € | 9 ... (9 hex = 1001 bin ) |
A ... | µ | ~ | s | t | u | v | w | x | y | z | ¡ | ¿ | Ð | Ý | Þ | ® | A… (A hex = 1010 bin ) |
B ... | ^ | £ | ¥ | · | © | § | ¶ | ¼ | ½ | ¾ | [ | ] | ¯ | ¨ | ´ | × | B ... (B hex = 1011 bin ) |
C ... | { | A. | B. | C. | D. | E. | F. | G | H | I. | O | ö | O | O | O | C… (C hex = 1100 bin ) | |
D ... | } | J | K | L. | M. | N | O | P | Q | R. | ¹ | û | ü | ù | ú | ÿ | D ... (D hex = 1101 bin ) |
E ... | \ | ÷ | S. | T | U | V | W. | X | Y | Z | ² | O | Ö | O | O | O | E… (E hex = 1110 bin ) |
F ... | 0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | ³ | Û | Ü | Ù | Ú | F ... (F hex = 1111 bin ) | |
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
- 40 hex : space
- 41 hex : protected space
- CA hex : soft / short hyphen
- FF hex : control character (EBCDIC)
EBCDIC 1141
EBCDIC 1141 is a variant of the EBCDIC code. It is used to represent the German language character set, practically exclusively on IBM mainframes. It corresponds to code page 273 and only differs from it in position 9F, where the euro symbol € is used instead of the international currency symbol ¤.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4… | â | { | à | á | ã | å | ç | ñ | Ä | . | < | ( | + | ! | 4… (4 hex = 0100 bin ) | ||
5… | & | é | ê | ë | è | í | î | ï | ì | ~ | Ü | $ | * | ) | ; | ^ | 5 ... (5 hex = 0101 bin ) |
6… | - | / | Â | [ | À | Á | Ã | Å | Ç | Ñ | ö | , | % | _ | > | ? | 6… (6 hex = 0110 bin ) |
7… | O | É | Ê | Ë | È | Í | Î | Ï | Ì | ` | : | # | § | ' | = | " | 7… (7 hex = 0111 bin ) |
8th… | O | a | b | c | d | e | f | G | H | i | « | » | ð | ý | þ | ± | 8… (8 hex = 1000 bin ) |
9 ... | ° | j | k | l | m | n | O | p | q | r | ª | º | æ | ¸ | Æ | € | 9 ... (9 hex = 1001 bin ) |
A ... | µ | ß | s | t | u | v | w | x | y | z | ¡ | ¿ | Ð | Ý | Þ | ® | A… (A hex = 1010 bin ) |
B ... | ¢ | £ | ¥ | · | © | @ | ¶ | ¼ | ½ | ¾ | ¬ | | | ¯ | ¨ | ´ | × | B ... (B hex = 1011 bin ) |
C ... | Ä | A. | B. | C. | D. | E. | F. | G | H | I. | O | ¦ | O | O | O | C… (C hex = 1100 bin ) | |
D ... | ü | J | K | L. | M. | N | O | P | Q | R. | ¹ | û | } | ù | ú | ÿ | D ... (D hex = 1101 bin ) |
E ... | Ö | ÷ | S. | T | U | V | W. | X | Y | Z | ² | O | \ | O | O | O | E… (E hex = 1110 bin ) |
F ... | 0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | ³ | Û | ] | Ù | Ú | F ... (F hex = 1111 bin ) | |
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
- 40 hex : space
- 41 hex : protected space
- CA hex : soft / short hyphen
- FF hex : control character (EBCDIC)
EBCDIC 1148
EBCDIC 1148 is a variant of the EBCDIC code. It is used to represent the international character set, practically exclusively on IBM mainframes. It corresponds to code page 500 and differs from it only in position 9F, where the euro symbol is located instead of the international currency symbol ¤.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4… | â | Ä | à | á | ã | å | ç | ñ | [ | . | < | ( | + | ! | 4… (4 hex = 0100 bin ) | ||
5… | & | é | ê | ë | è | í | î | ï | ì | ß | ] | $ | * | ) | ; | ^ | 5 ... (5 hex = 0101 bin ) |
6… | - | / | Â | Ä | À | Á | Ã | Å | Ç | Ñ | ¦ | , | % | _ | > | ? | 6… (6 hex = 0110 bin ) |
7… | O | É | Ê | Ë | È | Í | Î | Ï | Ì | ` | : | # | @ | ' | = | " | 7… (7 hex = 0111 bin ) |
8th… | O | a | b | c | d | e | f | G | H | i | « | » | ð | ý | þ | ± | 8… (8 hex = 1000 bin ) |
9 ... | ° | j | k | l | m | n | O | p | q | r | ª | º | æ | ¸ | Æ | € | 9 ... (9 hex = 1001 bin ) |
A ... | µ | ~ | s | t | u | v | w | x | y | z | ¡ | ¿ | Ð | Ý | Þ | ® | A… (A hex = 1010 bin ) |
B ... | ¢ | £ | ¥ | · | © | § | ¶ | ¼ | ½ | ¾ | ¬ | | | ¯ | ¨ | ´ | × | B ... (B hex = 1011 bin ) |
C ... | { | A. | B. | C. | D. | E. | F. | G | H | I. | O | ö | O | O | O | C… (C hex = 1100 bin ) | |
D ... | } | J | K | L. | M. | N | O | P | Q | R. | ¹ | û | ü | ù | ú | ÿ | D ... (D hex = 1101 bin ) |
E ... | \ | ÷ | S. | T | U | V | W. | X | Y | Z | ² | O | Ö | O | O | O | E… (E hex = 1110 bin ) |
F ... | 0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | ³ | Û | Ü | Ù | Ú | F ... (F hex = 1111 bin ) | |
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
- 40 hex : space
- 41 hex : protected space
- CA hex : soft / short hyphen
- FF hex : control character (EBCDIC)
EBCDIC variant EBCDIC.DF.03-DRV (CCSN: EDF03DRV)
EBCDIC.DF.03-DRV or CCSN: EDF03DRV is a variant of the EBCDIC code that is used on Fujitsu mainframes under the BS2000 / OSD operating system to display the German character set. This variant differs from other EBCDIC variants especially in the definition of German umlauts.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4… | ` | . | < | ( | + | | ö | 4… (4 hex = 0100 bin ) | ||||||||||
5… | & | ! | $ | * | ) | ; | 5 ... (5 hex = 0101 bin ) | ||||||||||
6… | - | / | ^ | , | % | _ | > | ? | 6… (6 hex = 0110 bin ) | ||||||||
7… | : | # | @ § | ' | = | " | 7… (7 hex = 0111 bin ) | ||||||||||
8th… | a | b | c | d | e | f | G | H | i | 8… (8 hex = 1000 bin ) | |||||||
9 ... | j | k | l | m | n | O | p | q | r | 9 ... (9 hex = 1001 bin ) | |||||||
A ... | s | t | u | v | w | x | y | z | A… (A hex = 1010 bin ) | ||||||||
B ... | [Ä | \ Ö | ] Ü | B ... (B hex = 1011 bin ) | |||||||||||||
C ... | A. | B. | C. | D. | E. | F. | G | H | I. | C… (C hex = 1100 bin ) | |||||||
D ... | J | K | L. | M. | N | O | P | Q | R. | D ... (D hex = 1101 bin ) | |||||||
E ... | S. | T | U | V | W. | X | Y | Z | E… (E hex = 1110 bin ) | ||||||||
F ... | 0 | 1 | 2 | 3 | 4th | 5 | 6th | 7th | 8th | 9 | {ä | } ü | ~ ß | F ... (F hex = 1111 bin ) | |||
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
- 40 hex : space
Another special feature of this character set is the double assignment of characters at the positions:
- 4F hex :
|
orö
- 7C hex :
@
or§
- BB hex :
[
orÄ
- BC hex :
\
orÖ
- BD hex :
]
orÜ
- FB hex :
{
orä
- FD hex :
}
orü
- FF hex :
~
orß
The representation on BS2000 / OSD is only differentiated by the hardware used or the fonts used.
Control characters
The first 64 characters from 00 hex to 3F hex define control characters and are identical for all EBCDIC code pages.
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 ... | NUL | SOH | STX | ETX | SEL | HT | RNL | DEL | GE | PLC | RPT | VT | FF | CR | SO | SI | 0… (0 hex = 0000 2 ) |
1… | DLE | DC1 | DC2 | DC3 | RES ENP |
NL | BS | POC | CAN | EM | UBS | CU1 | IFS | IGS | IRS | IUS ITB |
1… (1 hex = 0001 2 ) |
2… | DS | SOS | FS | WUS | BYP INP |
LF | ETB | ESC | SA | SFE | SM SW |
CSP | MFA | ENQ | ACK | BEL | 2… (2 hex = 0010 2 ) |
3… | SYN | IR | PP | TRN | NBS | EOT | SBS | IT | RFF | CU3 | DC4 | NAK | SUB | 3… (3 hex = 0011 2 ) | |||
… 0 | …1 | … 2 | … 3 | … 4 | … 5 | … 6 | … 7 | …8th | … 9 | … A | … B | ... C | … D | … E | ... F |
Some control characters have changed their meaning since the early versions of EBCDIC.
- 04 hex was assigned a character called
PF
( Punch Off , "Lochung aus") in the first EBCDIC version from 1964 , later it becameST
( String Terminator , "End of the string"), and today (2007) it isSEL
( Select , "select"), for which there is no equivalent in the ASCII code. - 06 hex is today (2007) with
RNL
( Required New Line , "required new line"). Originally it was assigned withLC
( Lower Case , "lower case letters") and now also withSSA
( System Status Available , " System Status Available "). - 08 hex is now occupied with
GE
( Graphic Escape , "Switching to graphic mode"). Originally it was occupied withEPA
( End of Protected Area , "end of the protected area"). - 09 hex is now occupied with
SPS
( Superscript , "superscript"). Originally it was occupied withRLF
( reverse line feed , "reverse line feed"). - Today, 0A hex is assigned
RPT
( Repeat , "Repeat"). Originally it was assignedSMM
( Start of Manual Message , "Beginning of a manual message"). - 13 hex is now occupied with
DC3
( Device Control 3 , " Device Control Code 3"). It was originally marked withTM
( Top Margin , "upper margin"). - 14 hex is now occupied with "RES / ENP" ( Restore / Enable Presentation , "Restore / activate display"). In the meantime, it was also used
OSC
for the Operating System Command . - Today, 17 hex is assigned
POC
( program operator communication , "communication with program operator "). Originally it wasIL
( Idle ) and now alsoESA
( End Selected Area , “End of the selected area”). - 1A hex is occupied today with
UBS
( Unit backspace , "one unit back"). Originally it was assignedCC
( cursor control , "control of the cursor").
The abbreviation CU1
stands for "Customer Use", ie a freely usable control character.
The control characters IFS
( Interchange File Separator ) IGS
( Interchange Group Separator ) IRS
( Interchange Record Separator ) and IUS
( Interchange Unit Separator ) are separators that the ASCII control character FS
, GS
, RS
and US
correspond. ITB
( Intermediate Transmission Block , " intermediate transmission block") is another name for IUS.
Web links
- Detailed IBM overview of the various EBCDIC code pages
- EBCDIC code pages with the Latin 1 character set
- Definition of UTF-EBCDIC