Open main menu

Wikipedia β

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. Such codes with additional parity bit were a natural way of storing data on 7-track magnetic tape.

Contents

Types of six-bit codesEdit

The earliest computers dealt with numeric data only, and made no provision for character data. Six-bit BCD was used by IBM on early computers such as the IBM 704 in 1954.[1]:p.35 This encoding was replaced by the 8-bit EBCDIC code 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. One popular variant 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 PDP-10, and three characters fit in each word of the PDP-1 and two characters fit in each word of the PDP-8.

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.

A UTF-6 encoding was proposed for Unicode[2] but was superseded by Punycode.

BCD six-bit codeEdit

Six-bit BCD code was the adaptation 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 codeEdit

A six-bit code was also used in COBOL databases, where end-of-record information was stored separately.[citation needed]

Magnetic stripe card six-bit codeEdit

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 six-bit codeEdit

A DEC SIXBIT code including a few control characters — along with SO/SI, allowing code extension — was specified as ECMA-1 in 1963 (see below). 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).

FIELDATA six-bit codeEdit

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 6 such reduced FIELDATA characters).[5]

Braille six-bit codeEdit

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.

Six-bit codes for binary-to-text encodingEdit

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.

Examples of BCD six-bit codesEdit

CDC 1604: Magnetic tape BCD codes

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. 1 2 3 4 5 6 7 8 9 0 # @ tape
mark
1. space / S T U V W X Y Z record
mark
,  %
2. J K L M N O P Q R −0 $ *
3. & A B C D E F G H I +0 . ¤ group
mark

CDC 1604: Punched card codes

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. 1 2 3 4 5 6 7 8 9 0 =
1. space / S T U V W X Y Z , (
2. --- J K L M N O P Q R −0 $ *
3. + A B C D E F G H I +0 . )

CDC 1612: Printer codes (business applications)

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0.  : 1 2 3 4 5 6 7 8 9 0 =  ! [
1. space / S T U V W X Y Z ] , ( ~
2. J K L M N O P Q R  % $ * >
3. + A B C D E F G H I < . )  ?  ;

Examples of six-bit ASCII variantsEdit

DEC SIXBIT:

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. space  ! " # $  % & ' ( ) * + , - . /
1. 0 1 2 3 4 5 6 7 8 9  :  ; < = >  ?
2. @ A B C D E F G H I J K L M N O
3. P Q R S T U V W X Y Z [ \ ] ^ _

ECMA-1:

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. space HT LF VT FF CR SO SI ( ) * + , - . /
1. 0 1 2 3 4 5 6 7 8 9  :  ; < = >  ?
2. NUL A B C D E F G H I J K L M N O
3. P Q R S T U V W X Y Z [ \ ] ESC DEL

GOST 6-bit codeEdit

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
 
0_
 
0
0030
0
000
1
0031
1
001
2
0032
2
002
3
0033
3
003
4
0034
4
004
5
0035
5
005
6
0036
6
006
7
0037
7
007
8
0038
8
010
9
0039
9
011
+
002B
10
012
-
002D
11
013
/
002F
12
014
,
002C
13
015
.
002E
14
016
SP
0020
15
017
 
1_
 

23E8
16
020

2191
17
021
(
0028
18
022
)
0029
19
023
×
00D7
20
024
=
003D
21
025
;
003B
22
026
[
005B
23
027
]
005D
24
030
*
002A
25
031

2018
26
032

2019
27
033

2260
28
034
<
003C
29
035
>
003E
30
036
:
003A
31
037
 
2_
 
А
0400
32
040
Б
0401
33
041
В
0402
34
042
Г
0403
35
043
Д
0404
36
044
Е
0405
37
045
Ж
0406
38
046
З
0407
39
047
И
0408
40
050
Й
0409
41
051
К
040A
42
052
Л
040B
43
053
М
040C
44
054
Н
040D
45
055
О
040E
46
056
П
040F
47
057
 
3_
 
Р
0410
48
060
С
0411
49
061
Т
0412
50
062
У
0413
51
063
Ф
0414
52
064
Х
0415
53
065
Ц
0416
54
066
Ч
0417
55
067
Ш
0418
56
070
Щ
0419
57
071
Ы
041B
58
072
Ь
041C
59
073
Э
041D
60
074
Ю
041E
61
075
Я
041F
62
076
DEL
007F
63
077

Example of six-bit Braille codesEdit

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

See alsoEdit

ReferencesEdit

  1. ^ IBM Corporation (1954). 704 electronic data-processing machine: manual of operation (PDF). 
  2. ^ Welter, Mark; Spolarich, Brian W. (2000-11-16). "UTF-6 - Yet Another ASCII-Compatible Encoding for ID". Internet Engineering Task Force. Archived from the original on 2016-05-23. Retrieved 2016-04-09. 
  3. ^ Mackenzie, Charles E. (1980). Coded Character Sets, History and Development. The Systems Programming Series (1 ed.). Addison-Wesley Publishing Company, Inc. p. 64. ISBN 0-201-14460-3. LCCN 77-90165. ISBN 978-0-201-14460-4. Retrieved 2016-05-22. 
  4. ^ Walker, John (1996-08-06). "UNIVAC 1100 Series FIELDATA Code". UNIVAC Memories. Archived from the original on 2016-05-22. Retrieved 2016-05-22. 
  5. ^ Jennings, Thomas Daniel (2016-04-20) [1999]. "An annotated history of some character codes or ASCII: American Standard Code for Information Infiltration". World Power Systems (WPS). Archived from the original on 2016-05-22. Retrieved 2016-05-22. 
  6. ^ "Representing and Displaying Braille". DotlessBraille.org. 2002-02-20. Retrieved 2009-08-09. 
  7. ^ Halleck, John (2000-08-24). "braille-ascii.ads". Braille.Ascii. Retrieved 2009-08-10. 

External linksEdit