Code 93

{{Short description|Barcode symbology}}

File:Code 93 Wikipedia barcode.png

Code 93 is a barcode symbology designed in 1982 by Intermec to provide a higher density and data security enhancement to Code 39. It is an alphanumeric, variable length symbology. Code 93 is used primarily by Canada Post to encode supplementary delivery information. Every symbol includes two check characters.

Each Code 93 character is nine modules wide, and always has three bars and three spaces, thus the name. Each bar and space is from 1 to 4 modules wide. (For comparison, a Code 39 character consists of five bars and four spaces, three of which are wide, for a total width of 13–16 modules.)

Code 93 is designed to encode the same 26 upper case letters, 10 digits and 7 special characters as code 39:

: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

: 0 1 2 3 4 5 6 7 8 9

: - . $ / + % SPACE

In addition to 43 characters, Code 93 defines 5 special characters (including a start/stop character), which can be combined with other characters to unambiguously represent all 128 ASCII characters.

In an open system, the minimum value of X dimension is 7.5 mils (0.19 mm). The minimum bar height is 15 percent of the symbol length or {{convert|0.25|in|mm}}, whichever is greater. The starting and trailing quiet zone should be at least {{convert|0.25|in|mm}}.

Structure of a code 93 barcode

A typical code 93 barcode has the following structure:

  • A start character *
  • Encoded message
  • First modulo-47 check character "C"
  • Second modulo-47 check character "K"
  • Stop character *
  • Termination bar

Detailed outline

The 48 possible code-93 symbols are as follows. There are actually \tbinom 83 = 56 combinations that satisfy the coding rules, but one would be confused with the stop symbol in reverse, and the other 7 are unused. Codes 43–46 can be prefixed to alphanumeric values to produce all 128 possible ASCII codes. This is done in exactly the same way as Full ASCII Code 39, but uses reserved codes rather than re-using codes 39–42.

class="wikitable sortable" style="text-align:center"

|+Code 93 bar code

! ID

CharacterWidthsBinary

! ID

CharacterWidthsBinary
00131112100010100

| 28

S211122110101100
11111213101001000

| 29

T211221110100110
22111312101000100

| 30

U221121110010110
33111411101000010

| 31

V222111110011010
44121113100101000

| 32

W112122101101100
55121212100100100

| 33

X112221101100110
66121311100100010

| 34

Y122121100110110
77111114101010000

| 35

Z123111100111010
88131211100010010

| 36

-121131100101110
99141111100001010

| 37

.311112111010100
10A211113110101000

| 38

SPACE311211111010010
11B211212110100100

| 39

$321111111001010
12C211311110100010

| 40

/112131101101110
13D221112110010100

| 41

+113121101110110
14E221211110010010

| 42

%211131110101110
15F231111110001010

| 43

($)121221100100110
16G112113101101000

| 44

(%)312111111011010
17H112212101100100

| 45

(/)311121111010110
18I112311101100010

| 46

(+)122211100110010
19J122112100110100

|colspan=2|Start/Stop *

111141101011110
20K132111100011010

|colspan=2| (Reverse stop)

114111101111010
21L111123101011000

|colspan=2 rowspan=7| Unused

411111111101010
22M111222101001100

| 111132

101011100
23N111321101000110

| 111231

101001110
24O121122100101100

| 113112

101110100
25P131121100010110

| 113211

101110010
26Q212112110110100

| 213111

110111010
27R212211110110010

| 212121

110110110

Full ASCII Code 93

Code 93 is restricted to 43 characters and 5 special characters. In Full ASCII Code 93, the 43 basic symbols (0–9, A-Z, "-", ".", "$", "/", "+" and "%") are the same as their representations in Code 93. Lower case letters, additional punctuation characters and control characters are represented by sequences of two characters of Code 93.

This encoding is the same as Full ASCII Code 39, except that four special-purpose symbols are used, rather than reassigning $, /, + and %:

style="background:#C0C0C0"

| style="text-align:center" colspan=15 | Code details

style="background:#C0C0C0"

| Nr

CharacterEncoding

| rowspan=99 style="background:#FFFFFF" |   

| Nr

CharacterEncoding

| rowspan=99 style="background:#FFFFFF" |   

| Nr

CharacterEncoding

| rowspan=99 style="background:#FFFFFF" |   

| Nr

CharacterEncoding
style="background:#F0F0F0"

| 0

NUL(%)U

| 32

[space][space]

| 64

@(%)V

| 96

`(%)W
style="background:#F0F0F0"

| 1

SOH($)A

| 33

!(/)A

| 65

AA

| 97

a(+)A
style="background:#F0F0F0"

| 2

STX($)B

| 34

"(/)B

| 66

BB

| 98

b(+)B
style="background:#F0F0F0"

| 3

ETX($)C

| 35

#(/)C

| 67

CC

| 99

c(+)C
style="background:#F0F0F0"

| 4

EOT($)D

| 36

$$

| 68

DD

| 100

d(+)D
style="background:#F0F0F0"

| 5

ENQ($)E

| 37

%%

| 69

EE

| 101

e(+)E
style="background:#F0F0F0"

| 6

ACK($)F

| 38

&(/)F

| 70

FF

| 102

f(+)F
style="background:#F0F0F0"

| 7

BEL($)G

| 39

'(/)G

| 71

GG

| 103

g(+)G
style="background:#F0F0F0"

| 8

BS($)H

| 40

((/)H

| 72

HH

| 104

h(+)H
style="background:#F0F0F0"

| 9

HT($)I

| 41

)(/)I

| 73

II

| 105

i(+)I
style="background:#F0F0F0"

| 10

LF($)J

| 42

*(/)J

| 74

JJ

| 106

j(+)J
style="background:#F0F0F0"

| 11

VT($)K

| 43

++

| 75

KK

| 107

k(+)K
style="background:#F0F0F0"

| 12

FF($)L

| 44

,(/)L

| 76

LL

| 108

l(+)L
style="background:#F0F0F0"

| 13

CR($)M

| 45|

77MM

| 109

m(+)M
style="background:#F0F0F0"

| 14

SO($)N

| 46

..

| 78

NN

| 110

n(+)N
style="background:#F0F0F0"

| 15

SI($)O

| 47

//

| 79

OO

| 111

o(+)O
style="background:#F0F0F0"

| 16

DLE($)P

| 48

00

| 80

PP

| 112

p(+)P
style="background:#F0F0F0"

| 17

DC1($)Q

| 49

11

| 81

QQ

| 113

q(+)Q
style="background:#F0F0F0"

| 18

DC2($)R

| 50

22

| 82

RR

| 114

r(+)R
style="background:#F0F0F0"

| 19

DC3($)S

| 51

33

| 83

SS

| 115

s(+)S
style="background:#F0F0F0"

| 20

DC4($)T

| 52

44

| 84

TT

| 116

t(+)T
style="background:#F0F0F0"

| 21

NAK($)U

| 53

55

| 85

UU

| 117

u(+)U
style="background:#F0F0F0"

| 22

SYN($)V

| 54

66

| 86

VV

| 118

v(+)V
style="background:#F0F0F0"

| 23

ETB($)W

| 55

77

| 87

WW

| 119

w(+)W
style="background:#F0F0F0"

| 24

CAN($)X

| 56

88

| 88

XX

| 120

x(+)X
style="background:#F0F0F0"

| 25

EM($)Y

| 57

99

| 89

YY

| 121

y(+)Y
style="background:#F0F0F0"

| 26

SUB($)Z

| 58

:(/)Z

| 90

ZZ

| 122

z(+)Z
style="background:#F0F0F0"

| 27

ESC(%)A

| 59

;(%)F

| 91

[(%)K

| 123

{(%)P
style="background:#F0F0F0"

| 28

FS(%)B

| 60

<(%)G

| 92

\(%)L

| 124

|(%)Q
style="background:#F0F0F0"

| 29

GS(%)C

| 61

=(%)H

| 93

](%)M

| 125|

||(%)R

|- style="background:#F0F0F0"

| 30||RS||(%)D

| 62||>||(%)I

| 94||^||(%)N

| 126||~||(%)S

|- style="background:#F0F0F0"

| 31||US||(%)E

| 63||?||(%)J

| 95||_||(%)O

| 127||DEL||(%)T, (%)X, (%)Y, (%)Z

|}

References

  • http://www.barcodeisland.com/code93.phtml {{Webarchive|url=https://web.archive.org/web/20090225114452/http://www.barcodeisland.com/code93.phtml |date=2009-02-25 }} Bar code Island's description of the code.