CPC Binary Barcode

Last updated

CPC Binary Barcode is Canada Post's proprietary symbology used in its automated mail sortation operations. This barcode is used on regular-size pieces of mail, especially mail sent using Canada Post's Lettermail service. [1] This barcode is printed on the lower-right-hand corner of each faced envelope, using a unique ultraviolet-fluorescent ink.

Contents

Symbology description

The applied barcode uses printed and non-printed bars, [2] spaced 3 millimetres (0.12 in) apart, and consists of two fields. The rightmost field, which is 27 bars in width, encodes the destination postal code. The leftmost field is 9 bars in width and applied right below the printed destination address. It is currently unclear what this field is used for.

In the postal code field, the rightmost bar is always printed, to allow the sortation equipment to properly lock onto the barcode and scan it. The leftmost bar, a parity field, is printed only when necessary to give the postal code field an odd number of printed bars. The remaining 25 bars represent the actual destination postal code. To eliminate any possibility of ambiguity during the scanning process, run-length restrictions are used within the postal code field. No more than five consecutive non-printed bars, or spaces, are permitted, and no more than six consecutive printed bars are allowed.

The actual representation of the postal code is split into four subfields of the barcode, each with their own separate encoding table. The first and last subfields, which share a common encoding table, are always eight bars in width, and encode the first two characters and the last two characters of the postal code respectively. The second subfield, which encodes the third character of the postal code, is always five bars in width, and the third subfield, which encodes the fourth character, is always four bars wide.

Generating barcodes

  1. Disregarding the space, divide the postal code into four subfields (e.g. K1-A-0-B1).
  2. Locate the contents of each subfield in the encoding tables below and record the hexadecimal numbers that they correspond to. (e.g. K1-A-0-B1 becomes 32-07-A-C2.)
  3. Convert those hex numbers to binary, and add leading zeroes where required.
  4. Change the binary numbers into bars. "Zero" bits in the resulting binary numbers correspond to spaces in the barcode, while "one" bits correspond to printed bars, with the least significant bit of each number corresponding to the rightmost bar in each subfield of the barcode.
  5. Add an "alignment" bar onto the end of the resulting barcode.
  6. Count up the number of bars you have. If you get an even number, add another bar onto the start of the barcode.

Here are some examples of encoded postal codes. The colour used in these examples is meant to simulate the actual colour of the ink used to print the barcodes, however it does not exactly match. Select these examples to make them more visible.

A1B 2C3: | |||  |  ||  |  || ||  |||
K1A 0B1: |  ||  |   |||| | ||    | |
V6B 2R5: |   | ||  ||  |  | | | | ||

Encoding tables

Note that postal codes use only 20 letters; six letters (D, F, I, O, Q, U) are never used. Unused codepoints are indicated with dashes.

First and fourth fields (8 bits)
 00: ––  01: ––  02: ––  03: ––  04: ––  05: ––  06: ––  07: ––  08: ––  09: ––  0A: ––  0B: ––  0C: ––  0D: ––  0E: ––  0F: –– 
10: ––11: X012: V113: V314: X115: V516: V617: V718: ––19: V21A: V01B: V41C: X21D: V81E: V91F: ––
20: Z121: N122: L123: L324: T125: L526: L627: L728: W129: L22A: L02B: L42C: P12D: L82E: L92F: ––
30: Z331: N332: K133: K334: T335: K536: K637: K738: W339: K23A: K03B: K43C: P33D: K83E: K93F: ––
40: ––41: X342: M143: M344: X445: M546: M647: M748: ––49: M24A: M04B: M44C: X54D: M84E: M94F: ––
50: Z551: N552: R153: R354: T555: R556: R657: R758: W559: R25A: R05B: R45C: P55D: R85E: R95F: ––
60: Z661: N662: J163: J364: T665: J566: J667: J768: W669: J26A: J06B: J46C: P66D: J86E: J96F: ––
70: Z771: N772: A173: A374: T775: A576: A677: A778: W779: A27A: A07B: A47C: P77D: A87E: A97F: ––
80: ––81: ––82: H183: H384: X985: H586: H687: H788: ––89: H28A: H08B: H48C: ––8D: H88E: H98F: ––
90: Z291: N292: G193: G394: T295: G596: G697: G798: W299: G29A: G09B: G49C: P29D: G89E: G99F: ––
A0: Z0A1: N0A2: S1A3: S3A4: T0A5: S5A6: S6A7: S7A8: W0A9: S2AA: S0AB: S4AC: P0AD: S8AE: S9AF: ––
B0: Z4B1: N4B2: C1B3: C3B4: T4B5: C5B6: C6B7: C7B8: W4B9: C2BA: C0BB: C4BC: P4BD: C8BE: C9BF: ––
C0: ––C1: X6C2: B1C3: B3C4: X7C5: B5C6: B6C7: B7C8: ––C9: B2CA: B0CB: B4CC: X8CD: B8CE: B9CF: ––
D0: Z8D1: N8D2: E1D3: E3D4: T8D5: E5D6: E6D7: E7D8: W8D9: E2DA: E0DB: E4DC: P8DD: E8DE: E9DF: ––
E0: Z9E1: N9E2: Y1E3: Y3E4: T9E5: Y5E6: Y6E7: Y7E8: W9E9: Y2EA: Y0EB: Y4EC: P9ED: Y8EE: Y9EF: ––
F0: ––F1: ––F2: ––F3: ––F4: ––F5: ––F6: ––F7: ––F8: ––F9: ––FA: ––FB: ––FC: ––FD: ––FE: ––FF: ––
Second field (5 bits)Third field (4 bits)
00: 01: 02: L03: K04: M05: R06: J07: A0: 1: 2: 13: 3
08: H09: G0A: S0B: C0C: B0D: E0E: Y0F: 4: 5: 56: 67: 7
10: 11: V12: 13: X14: T15: 16: N17: 8: 9: 2A: 0B: 4
18: W19: 1A: Z1B: 1C: P1D: 1E: 1F: C: D: 8E: 9F:

No field begins or ends with more than three consecutive 1 bits, guaranteeing that there are never more than six consecutive 1 bits. Guaranteeing the five-bit limit on consecutive 0 bits is achieved by limiting the boundaries of the second and fourth fields to three consecutive 0 bits, and the first and third fields to two consecutive 0 bits:

Related Research Articles

In computer science, an integer is a datum of integral data type, a data type that represents some range of mathematical integers. Integral data types may be of different sizes and may or may not be allowed to contain negative values. Integers are commonly represented in a computer as a group of binary digits (bits). The size of the grouping varies so the set of integer sizes available varies between different types of computers. Computer hardware nearly always provides a way to represent a processor register or memory address as an integer.

<span class="mw-page-title-main">Two-out-of-five code</span> Error-detection code for decimal digits

A two-out-of-five code is a constant-weight code that provides exactly ten possible combinations of two bits, and is thus used for representing the decimal digits using five bits. Each bit is assigned a weight, such that the set bits sum to the desired value, with an exception for zero.

In mathematics and computing, Fibonacci coding is a universal code which encodes positive integers into binary code words. It is one example of representations of integers based on Fibonacci numbers. Each code word ends with "11" and contains no other instances of "11" before the end.

<span class="mw-page-title-main">Universal Product Code</span> Barcode symbology used for tracking trade items in stores

The Universal Product Code is a barcode symbology that is widely used worldwide for tracking trade items in stores.

<span class="mw-page-title-main">Barcode</span> Optical machine-readable representation of data

A barcode or bar code is a method of representing data in a visual, machine-readable form. Initially, barcodes represented data by varying the widths, spacings and sizes of parallel lines. These barcodes, now commonly referred to as linear or one-dimensional (1D), can be scanned by special optical scanners, called barcode readers, of which there are several types.

In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic operations and directly supported by the processor. Most bitwise operations are presented as two-operand instructions where the result replaces one of the input operands.

POSTNET is a barcode symbology used by the United States Postal Service to assist in directing mail. The ZIP Code or ZIP+4 code is encoded in half- and full-height bars. Most often, the delivery point is added, usually being the last two digits of the address or PO box number.

In mathematics, finite field arithmetic is arithmetic in a finite field contrary to arithmetic in a field with an infinite number of elements, like the field of rational numbers.

<span class="mw-page-title-main">PDF417</span> Type of barcode

PDF417 is a stacked linear barcode format used in a variety of applications such as transport, identification cards, and inventory management. "PDF" stands for Portable Data File. The "417" signifies that each pattern in the code consists of 4 bars and spaces in a pattern that is 17 units (modules) long. The PDF417 symbology was invented by Dr. Ynjiun P. Wang at Symbol Technologies in 1991. It is defined in ISO 15438.

<span class="mw-page-title-main">Code 128</span> Barcode format

Code 128 is a high-density linear barcode symbology defined in ISO/IEC 15417:2007. It is used for alphanumeric or numeric-only barcodes. It can encode all 128 characters of ASCII and, by use of an extension symbol (FNC4), the Latin-1 characters defined in ISO/IEC 8859-1. It generally results in more compact barcodes compared to other methods like Code 39, especially when the texts contain mostly digits. Code 128 was developed by the Computer Identics Corporation in 1981.

<span class="mw-page-title-main">Interleaved 2 of 5</span> Type of barcode

Interleaved 2 of 5 (ITF) is a continuous two-width barcode symbology encoding digits. It is used commercially on 135 film, for ITF-14 barcodes, and on cartons of some products, while the products inside are labeled with UPC or EAN.

<span class="mw-page-title-main">PostBar</span>

PostBar, also known as CPC 4-State, is the black-ink barcode system used by Canada Post in its automated mail sorting and delivery operations. It is similar to other 4 State barcode systems used by Australia Post and the United Kingdom's Royal Mail, but uses an obscured structure and encoding system unique to Canada Post. This particular bar code system is used on "flats" and parcels.

Telepen is the name of a barcode symbology designed to encode all 128 ASCII characters without using shift characters for code switching, and only using two different widths for both bars and spaces.. The symbology was devised by George Sims of SB Electronic Systems Ltd. Telepen was originally designed in the UK in 1972.

<span class="mw-page-title-main">Facing Identification Mark</span>

The Facing Identification Mark, or FIM, is a bar code designed by the United States Postal Service to assist in the automated processing of mail. The FIM is a set of vertical bars printed on the envelope or postcard near the upper edge, just to the left of the postage area. The FIM is intended for use primarily on preprinted envelopes and postcards and is applied by the company printing the envelopes or postcards, not by the USPS.

<span class="mw-page-title-main">International Article Number</span> Standard barcode system used in global trade

The International Article Number is a standard describing a barcode symbology and numbering system used in global trade to identify a specific retail product type, in a specific packaging configuration, from a specific manufacturer. The standard has been subsumed in the Global Trade Item Number standard from the GS1 organization; the same numbers can be referred to as GTINs and can be encoded in other barcode symbologies defined by GS1. EAN barcodes are used worldwide for lookup at retail point of sale, but can also be used as numbers for other purposes such as wholesale ordering or accounting. These barcodes only represent the digits 0–9, unlike some other barcode symbologies which can represent additional characters.

Codabar is a linear barcode symbology developed in 1972 by Pitney Bowes Corp. It and its variants are also known as Codeabar, Ames Code, NW-7, Monarch, Code 2 of 7, Rationalized Codabar, ANSI/AIM BC3-1995 or USD-4. Although Codabar has not been registered for US federal trademark status, its hyphenated variant Code-a-bar is a registered trademark.

<span class="mw-page-title-main">MSI Barcode</span> Barcode symbology

MSI is a barcode symbology developed by the MSI Data Corporation, based on the original Plessey Code symbology. It is a continuous symbology that is not self-checking. MSI is used primarily for inventory control, marking storage containers and shelves in warehouse environments.

<span class="mw-page-title-main">Intelligent Mail barcode</span> Barcode for use on U.S. mail

The Intelligent Mail Barcode (IMb) is a 65-bar barcode for use on mail in the United States. The term "Intelligent Mail" refers to services offered by the United States Postal Service for domestic mail delivery. The IM barcode is intended to provide greater information and functionality than its predecessors POSTNET and PLANET. An Intelligent Mail barcode has also been referred to as a One Code Solution and a 4-State Customer Barcode, abbreviated 4CB, 4-CB or USPS4CB. The complete specification can be found in USPS Document USPS-B-3200. It effectively incorporates the routing ZIP Code and tracking information included in previously used postal barcode standards.

<span class="mw-page-title-main">Code 11</span> Barcode symbology

Code 11 is a barcode symbology developed by Intermec in 1977, and it is used primarily in telecommunications. The symbol can encode any length string consisting of the digits 0–9 and the dash character (-). A twelfth code represents the start/stop character, commonly printed as "*". One or two modulo-11 check digit(s) can be included.

Plessey Code is a 1D linear barcode symbology based on pulse-width modulation, developed in 1971 by The Plessey Company plc, a British-based company. It is one of the first barcode symbology, and is still used rarely in some libraries and for shelf tags in retail stores, in part as a solution to their internal requirement for stock control. The system was first used in the early 1970s by J.Sainsbury to identify all of its products on supermarket shelves for its product restocking system.

References

  1. "Lettermail". Canada Post. 14 June 2021. Retrieved 9 February 2024.
  2. WO 96/13803,Ulvr, Joseph&Kho, Adrian Thong Sun Chai-Yu,"Bar code for mail processing",published 1996-05-09.