Other Encodings

ASCII, , BCD and EBCDIC ASCII

• American Standard Code for Information Interchange

• Representation of printable (and related) characters as bit patterns

• Basic ASCII is a 7-bit code - 8th bit used for parity (primitive error checking)

• Extended ASCII: ISO8859-1, CP437, etc - extensions of 7-bit ASCII to 8 bits - include graphics symbols, European characters - not consistent - All include 7-bit ASCII as the 1st 128 characters ASCII tables – see montcs.bloomu.edu/Information/Encoding/ASCII-EBCDIC.html

Hexadecimal Range Usage Examples range

First 32 0x00 - 0x1f Control Ctrl-D, ‘\n’, values characters Escape Second 32 Punctuation, 0x20 - 0x3f (, ), 0..9, = values digits Third 32 Uppercase 0x40 - 0x5f A..Z, [, ],@ values letters Fourth 32 Lowercase 0x60 - 0x7f a..z, {, }, ~ values letters Extended ASCII Various non- Last 128 English 0x80 - 0xff ¶, ü, ┝, ┤ values characters, “ASCII graphics” ISO8859-1, a.k.a. Latin-1 CodePage 437 – the IBM Character Set Unicode family

• 8- to 32-bit successor to ASCII - UTF-8 encoding uses 1 for ASCII codes, expands to 2, 3, or 4 for other character sets

• Support for “all” languages? - Greek - Cyrillic - Hebrew - Arabic - Mandarin - Sanskrit - Kanji

• Gaining increasing usage and support UTF-8

• First row is equivalent to ASCII

• First two rows include "Latin-1" (ISO-8859-1), along with other Latin-script languages, Greek, Hebrew, etc.

• Remaining rows encode the rest of the Unicode character sets partial Unicode code table – see montcs.bloomu.edu/Information/Encodings/unicode.html Deci Unsigne BCD BCD mal d Binary 0 0000 0000 1 0001 0001 • Binary Coded Decimal 2 0010 0010 - Scheme for representing base-10 in binary 3 0011 0011 4 0100 0100 - First 10 digits the same as unsigned binary 5 0101 0101 6 0110 0110 - Bit patterns 1010, 1011, 7 0111 0111 1100, 1101, 1110, 1111 8 1000 1000 have no meaning 9 1001 1001 10 1010 0001 0000 • More difficult to support in 11 1011 0001 0001 hardware 12 1100 0001 0010 - Addition, subtraction are full of 13 1101 0001 0011 “special cases” requiring additional circuitry 14 1110 0001 0100 15 1111 0001 0101

Using BCD numbers: a 1979 HP-9845 interfaces with a 1967 HP voltmeter EBCDIC

• Extended Binary Coded Decimal Interchange Code - BCD is embedded within it

• Alternative to ASCII - 8 bits

• Created for IBM mainframes - suited to 80-column punched cards - support for business applications

• Country-specific versions were not mutually consistent

• Little used today EBCDIC EBCDIC table – see montcs.bloomu.edu/Information/Encoding/ASCII-EBCDIC.html a punched card showing EBCDIC