Six-bit character code

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Template:Short description Template:Use dmy dates A six-bit character code is a character encoding designed for use on computers with word lengths a multiple of 6. Six bits can only encode 64 distinct characters, so these codes generally include only the upper-case letters, the numerals, some punctuation characters, and sometimes control characters. The 7-track magnetic tape format was developed to store data in such codes, along with an additional parity bit.

Types of six-bit codes

An early six-bit binary code was used for Braille, the reading system for the blind that was developed in the 1820s.

The earliest computers dealt with numeric data only, and made no provision for character data. Six-bit BCD, with several variants, was used by IBM on early computers such as the IBM 702 in 1953 and the IBM 704 in 1954.[1]Template:Rp Six-bit encodings were replaced by the 8-bit EBCDIC code starting in 1964, when System/360 standardized on 8-bit bytes. There are some variants of this type of code (see below).

Six-bit character codes generally succeeded the five-bit Baudot code and preceded seven-bit ASCII.

Six-bit codes could encode more than 64 characters by the use of Shift Out and Shift In characters, essentially incorporating two distinct 62-character sets and switching between them. For example, the popular IBM 2741 communications terminal supported a variety of character sets of up to 88 printing characters plus control characters.

Teletypesetter code

Script error: No such module "Labelled list hatnote". A special 6-level extension of the 5-level International Telegraph Alphabet was used to remotely control Linotype machines beginning around 1930. By 1950 it was widely used by wire services to send preformatted news stories to participating newspapers. It supported the 90 printable characters characters of a Linotype machine, plus whitespace characters.

The TTS code had two pairs of shift codes allowing a total of four shift states. The first operated much like a keyboard's shift key and selected between a lower-case and digits repertoire, and an upper-case and symbols one. A second pair of Linotype-specific "lower rail" and "upper rail" shift codes would select an alternate (usually italic) font.

BCD six-bit codes

Six-bit BCD codes were adaptations of the punched card code to binary code. IBM applied the terms binary-coded decimal and BCD to the variations of BCD alphamerics used in most early IBM computers, including the IBM 1620, IBM 1400 series, and non-decimal architecture members of the IBM 700/7000 series.

COBOL databases six-bit code

A six-bit code was also used in COBOL databases, where end-of-record information was stored separately.Script error: No such module "Unsubst".

Magnetic stripe card six-bit code

A six-bit code, with added odd parity bit, is used on Track 1 of magnetic stripe cards, as specified in ISO/IEC 7811-2.

DEC SIXBIT code

A popular six-bit code was DEC SIXBIT. This is simply the ASCII character codes from 32 to 95 coded as 0 to 63 by subtracting 32 (i.e., columns 2, 3, 4, and 5 of the ASCII table (16 characters to a column), shifted to columns 0 through 3, by subtracting 2 from the high bits); it includes the space, punctuation characters, numbers, and capital letters, but no control characters. Since it included no control characters, not even end-of-line, it was not used for general text processing. However, six-character names such as filenames and assembler symbols could be stored in a single 36-bit word of the PDP-10, and three characters fit in each word of the PDP-1 and two characters fit in each word of the PDP-8.

Another, less common, variant is obtained by just stripping the high bit of an ASCII code in 32 - 95 range (codes 32 - 63 remain at their positions, higher values have 64 subtracted from them). Such variant was sometimes used on DEC's PDP-8 (1965).

Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1

Script error: No such module "anchor".ECMA and ISO six-bit code

A six-bit code similar to DEC's, but replacing a few punctuation characters with the most useful control characters—including SO/SI, allowing code extension—was specified as ECMA-1 in 1963. Four years later, ISO Recommendation R 646-1967 (which later evolved into ISO Standard 646) included an almost identical six-bit code, differing only in some of the alternative options permitted for a few characters. ECMA-1 was eventually withdrawn, and ISO 646-1973 explicitly removed the six-bit code, standardizing only its 7-bit code.

Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-ctrl1 Template:Chset-ctrl1 Template:Chset-ctrl1 Template:Chset-ctrl1 Template:Chset-ctrl1 Template:Chset-ctrl1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-ctrl1 Template:Chset-ctrl1

Template:Notelist

ICT/ICL 6-bit character set

The ICT (later ICL) 1900-series of mainframes used a six-bit code derived from an early 1963 version of ASCII for internal storage and processing, referred to as the "ECMA character set" in its documentation.

Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1

AIS SixBit ASCII

The automatic identification system (AIS) uses this code.[2]

Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1

FIELDATA six-bit code

FIELDATA was a seven-bit code (with optional parity) of which only 64 code positions (occupying six bits) were formally defined.[3] A variant was used by UNIVAC's 1100-series computers.[4] Treating the code as a six-bit code these systems used a 36-bit word (capable of storing six such reduced FIELDATA characters).[5]

Braille six-bit code

Braille characters are represented using six dot positions, arranged in a rectangle. Each position may contain a raised dot or not, so Braille can be considered to be a six-bit binary code. Some more modern Braille systems add an extra two dots, making these systems an eight-bit code instead.

Six-bit codes for binary-to-text encoding

Script error: No such module "Labelled list hatnote". Transmission of binary data over systems which are designed for text only can sometimes introduce problems. For example, email historically supported only 7-bit ASCII codes and would strip the 8th bit, thus corrupting binary data sent directly through any troublesome mail server. Other systems can cause issues by improperly interpreting control characters during storage or transmission. A number of schemes exist to pack 8-bit data into text-only representations which can pass through text mail systems, to be decoded at the destination. Examples of 6-bit character subsets used for packing binary data include Uuencode and Base64. These sets contain no control characters (only printable numbers, letters, some punctuation, and maybe space) and allow data to be transmitted over any medium which is also able to transmit human-readable text.

Script error: No such module "anchor".Examples of BCD six-bit codes

IBM, which dominated commercial data processing use a variety of six-bit codes, which were tied to the character set used on punched cards, see BCD (character encoding).

Other vendor character codes are shown below, with their Unicode equivalents.

Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-ctrl1
Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-ctrl1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-ctrl1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1

GOST 6-bit code

Script error: No such module "Labelled list hatnote".

Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-ctrl1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1
Template:Chset-left1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-cell1 Template:Chset-ctrl1

Example of six-bit Braille codes

The following table shows the arrangement of characters, with the hex value, corresponding ASCII character, Braille 6-bit codes (dot combinations), Braille Unicode glyph, and general meaning (the actual meaning may change depending on context).[6][7]

Hex ASCII Glyph Braille Dots Braille Glyph Braille Meaning
20 (space) Template:Braille cell (space)
21 ! 2-3-4-6 Template:Braille cell the
22 " 5 Template:Braille cell (contraction)
23 # 3-4-5-6 Template:Braille cell (number prefix)
24 $ 1-2-4-6 Template:Braille cell ed
25 % 1-4-6 Template:Braille cell sh
26 & 1-2-3-4-6 Template:Braille cell and
27 ' 3 Template:Braille cell '
28 ( 1-2-3-5-6 Template:Braille cell of
29 ) 2-3-4-5-6 Template:Braille cell with
2A * 1-6 Template:Braille cell ch
2B + 3-4-6 Template:Braille cell ing
2C , 6 Template:Braille cell (uppercase prefix)
2D - 3-6 Template:Braille cell -
2E . 4-6 Template:Braille cell (italic prefix)
2F / 3-4 Template:Braille cell st
30 0 3-5-6 Template:Braille cell "
31 1 2 Template:Braille cell ,
32 2 2-3 Template:Braille cell ;
33 3 2-5 Template:Braille cell :
34 4 2-5-6 Template:Braille cell .
35 5 2-6 Template:Braille cell en
36 6 2-3-5 Template:Braille cell !
37 7 2-3-5-6 Template:Braille cell ( or )
38 8 2-3-6 Template:Braille cell " or ?
39 9 3-5 Template:Braille cell in
3A : 1-5-6 Template:Braille cell wh
3B ; 5-6 Template:Braille cell (letter prefix)
3C < 1-2-6 Template:Braille cell gh
3D = 1-2-3-4-5-6 Template:Braille cell for
3E > 3-4-5 Template:Braille cell ar
3F ? 1-4-5-6 Template:Braille cell th
 
Hex ASCII Glyph Braille Dots Braille Glyph Braille Meaning
40 @ 4 Template:Braille cell (accent prefix)
41 A 1 Template:Braille cell a
42 B 1-2 Template:Braille cell b
43 C 1-4 Template:Braille cell c
44 D 1-4-5 Template:Braille cell d
45 E 1-5 Template:Braille cell e
46 F 1-2-4 Template:Braille cell f
47 G 1-2-4-5 Template:Braille cell g
48 H 1-2-5 Template:Braille cell h
49 I 2-4 Template:Braille cell i
4A J 2-4-5 Template:Braille cell j
4B K 1-3 Template:Braille cell k
4C L 1-2-3 Template:Braille cell l
4D M 1-3-4 Template:Braille cell m
4E N 1-3-4-5 Template:Braille cell n
4F O 1-3-5 Template:Braille cell o
50 P 1-2-3-4 Template:Braille cell p
51 Q 1-2-3-4-5 Template:Braille cell q
52 R 1-2-3-5 Template:Braille cell r
53 S 2-3-4 Template:Braille cell s
54 T 2-3-4-5 Template:Braille cell t
55 U 1-3-6 Template:Braille cell u
56 V 1-2-3-6 Template:Braille cell v
57 W 2-4-5-6 Template:Braille cell w
58 X 1-3-4-6 Template:Braille cell x
59 Y 1-3-4-5-6 Template:Braille cell y
5A Z 1-3-5-6 Template:Braille cell z
5B [ 2-4-6 Template:Braille cell ow
5C \ 1-2-5-6 Template:Braille cell ou
5D ] 1-2-4-5-6 Template:Braille cell er
5E ^ 4-5 Template:Braille cell (contraction)
5F _ 4-5-6 Template:Braille cell (contraction)

See also

References

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

External links

  • Script error: No such module "citation/CS1". (7.44 MB)Script error: No such module "Check for unknown parameters".
  • Script error: No such module "citation/CS1". (1.53 MB)Script error: No such module "Check for unknown parameters".
  • Template:Webarchive - Digital Equipment Corporation SIXBIT character coding system

Template:Character encoding