ISO/IEC 15417:2000
(Main)Information technology — Automatic identification and data capture techniques — Bar code symbology specification — Code 128
Information technology — Automatic identification and data capture techniques — Bar code symbology specification — Code 128
Technologies de l'information — Techniques automatiques d'identification et de capture des données — Spécifications pour les symboles des codes à barres — Code 128
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 15417
First edition
2000-06-01
Information technology — Automatic
identification and data capture
techniques — Bar code symbology
specification — Code 128
Technologies de l'information — Techniques d'identification automatique et
de capture des données — Spécifications pour les symboles des codes à
barres — Code 128
Reference number
ISO/IEC 15417:2000(E)
©
ISO/IEC 2000
---------------------- Page: 1 ----------------------
ISO/IEC 15417:2000(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but shall not
be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this
file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat accepts no liability in this
area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters
were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In the unlikely event
that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2000
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic
or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISO's member body
in the country of the requester.
ISO copyright office
Case postale 56 � CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 734 10 79
E-mail copyright@iso.ch
Web www.iso.ch
Printed in Switzerland
ii © ISO/IEC 2000 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 15417:2000(E)
Contents Page
Foreword.iv
Introduction.v
1 Scope .1
2 Normative references .1
3 Terms and definitions .1
4 Requirements.1
4.1 Symbology characteristics .1
4.2 Symbol structure .2
4.3 Character assignments .3
4.3.1 Symbol character structure.3
4.3.2 Data character encodation.3
4.3.3 Code Sets .8
4.3.4 Special characters .8
4.3.5 Symbol check character .9
4.4 Dimensional requirements.9
4.4.1 Minimum width of a module (X).9
4.4.2 Quiet zone.9
4.5 Reference decode algorithm .9
4.6 Symbol quality .13
4.6.1 General.13
4.6.2 Decodability.13
4.6.3 Quiet zones.13
4.7 User-defined application parameters .13
4.7.1 Symbology and data characteristics .13
4.7.2 Test specification.14
4.8 Transmitted data.14
Annex A (normative) Additional features of Code 128.15
Annex B (normative) Special considerations relating to Function Code 1 (FNC1).16
Annex C (normative) Symbology identifiers .18
Annex D (informative) Relationship of symbol character value to ASCII value .19
Annex E (informative) Use of Start, Code Set and Shift characters to minimize symbol width .20
Annex F (informative) ISO 8859-1 (Latin Alphabet no. 1) character set.21
Annex G (informative) User-defined application parameters .22
Annex H (informative) Guidelines for the use of Code 128.23
© ISO/IEC 2000 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 15417:2000(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission)
form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC
participate in the development of International Standards through technical committees established by the
respective organization to deal with particular fields of technical activity. ISO and IEC technical committees
collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in
liaison with ISO and IEC, also take part in the work.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 3.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting.
Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this International Standard may be the subject of
patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
International Standard ISO/IEC 15417 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information
technology, Subcommittee SC 31, Automatic identification and data capture techniques.
Annexes A to C form a normative part of this International Standard. Annexes D to H are for information only.
iv © ISO/IEC 2000 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 15417:2000(E)
Introduction
The technology of bar coding is based on the recognition of patterns encoded in bars and spaces of defined
dimensions. There are numerous methods of encoding information in bar code form, known as symbologies.
Code 128 is one such symbology. The rules defining the translation of characters into bar and space patterns, and
other essential features of each symbology, are known as the symbology specification.
Manufacturers of bar code equipment and users of bar code technology require publicly available standard
symbology specifications to which they can refer when developing equipment and software.
© ISO/IEC 2000 – All rights reserved v
---------------------- Page: 5 ----------------------
INTERNATIONAL STANDARD ISO/IEC 15417:2000(E)
Information technology — Automatic identification and data
capture techniques — Bar code symbology specification —
Code 128
1 Scope
This International Standard defines the technical requirements for the bar code symbology known as Code 128. It
specifies Code 128 symbology characteristics, data character encodation, dimensions, decoding algorithms and
the application parameters which need to be defined by users. It specifies the Symbology Identifier prefix strings
for Code 128 symbols.
2 Normative references
The following normative documents contain provisions which, through reference in this text, constitute provisions of
this International Standard. For dated references, subsequent amendments to, or revisions of, any of these
publications do not apply. However, parties to agreements based on this International Standard are encouraged to
investigate the possibility of applying the most recent editions of the normative documents indicated below. For
undated references, the latest edition of the normative document referred to applies. Members of ISO and IEC
maintain registers of currently valid International Standards.
ISO/IEC 646, Information technology — ISO 7-bit coded character set for information interchange.
ISO/IEC 8859-1, Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet
No. 1.
ISO/IEC 10646-1, Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1:
Architecture and Basic Multilingual Plane.
ISO/IEC 15424, Information technology — Automatic identification and data capture techniques — Data
carrier/symbology Identifiers.
ISO/IEC 15416, Information technology — Automatic identification and data capture techniques — Bar code print
quality test specification — Linear symbols.
EN 1556, Bar coding — Terminology.
3 Terms and definitions
For the purposes of this International Standard, the terms and definitions given in EN 1556 apply.
4 Requirements
4.1 Symbology characteristics
The characteristics of Code 128 are:
a) Encodable character set:
© ISO/IEC 2000 – All rights reserved 1
---------------------- Page: 6 ----------------------
ISO/IEC 15417:2000(E)
1) All 128 ASCII characters, i.e. ASCII characters 0 to 127 inclusive, in accordance with ISO 646.
2) Characters with ASCII values 128 to 255 may also be encoded.
3) 4 non-data function characters.
4) 4 code set selection characters.
5) 3 Start characters.
6) 1 Stop character.
b) Code type: Continuous.
c) Elements per symbol character: 6, comprising 3 bars and 3 spaces, each of 1, 2, 3 or 4 modules in width
(Stop character: 7 elements comprising 4 bars and 3 spaces).
d) Character self-checking: Yes.
e) Symbol length: Variable.
f) Bidirectionally decodable: Yes.
g) Symbol check character: One, mandatory (see annex A.1).
h) Data character density: 11 modules per symbol character (5.5 modules per numeric character).
i) Non-data overhead: Equivalent to 35 modules.
4.2 Symbol structure
Code 128 symbols shall comprise:
a) leading quiet zone
b) a Start character
c) one or more characters representing data and special characters
d) symbol check character
e) a Stop character
f) trailing quiet zone.
Figure 1 illustrates a Code 128 symbol encoding the text “AIM”.
Quiet zone Start char. Data characters Symbol Stop char. Quiet Zone
check char.
AIM
Figure 1 — Code 128 symbol
2 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC 15417:2000(E)
4.3 Character assignments
Table 1 defines all the Code 128 character assignments. In the column headed 'Element Widths' the numeric
values represent the widths of the elements in modules or multiples of the X dimension.
4.3.1 Symbol character structure
The sum of the bar modules in any symbol character is always even (even parity) and that of the space modules is
therefore always odd. This parity feature enables character self-checking to be carried out.
Figure 2 below illustrates Start character A.
123456789 10 11
211412
Figure 2 — Code 128 Start character A
Figure 3 below illustrates the encodation of the symbol character value 35, which represents data character ‘C’ in
Code Sets A or B or the two digits ‘35’ in Code Set C.
123456789 10 11
1313 2 1
Figure 3 — Symbol character value 35
Figure 4 below illustrates the Stop character.
123456789 10 11 12 13
2 3 3 111 2
Figure 4 — Code 128 Stop character
4.3.2 Data character encodation
Code 128 has three unique data character code sets shown in Table 1 as Code Sets A, B, and C. The symbol
character bar and space patterns shown represent the data characters listed under the columns for Code Set A, B,
or C. The choice of code sets depends on the Start character or the use of Code A, Code B or Code C characters
or the Shift character. If the symbol begins with Start character A, then Code Set A is defined initially. Code Set B
and Code Set C are similarly defined by beginning the symbol with Start character B or C respectively. The code
set can be redefined within the symbol by the use of Code A, Code B, and Code C characters or the Shift character
(see 4.3.4.2 for the use of these special characters).
The same data may be represented by different Code 128 symbols, through the use of different combinations of
Start, Code Set, and Shift characters. An application should not specify the code set to be used. Annex E contains
rules to minimize the length of the symbol for any given data. A decoder shall in addition decode symbols which
© ISO/IEC 2000 – All rights reserved 3
---------------------- Page: 8 ----------------------
ISO/IEC 15417:2000(E)
use valid combinations of Start, Code Set, and Shift characters other than that specified in annex E, such as a
symbol with a code set character at the end of the data.
Each symbol character is assigned a numeric value listed in Table 1. This value is used in calculating the symbol
check character value. It may also be used to provide a conversion to and from ASCII values (see annex D).
4 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 9 ----------------------
ISO/IEC 15417:2000(E)
Table 1 — Code 128 character encodation
CODE ASCII CODE ASCII CODE ELEMENT ELEMENT
SYMBOL
SET VALUE SET VALUE SET WIDTHS PATTERN
CHAR.
A B C (modules)
for Set A for Set B
VALUE
BSBSBS 1 2 3 456789 10 11
0 space 32 space 32 00 212222
1 ! 33 ! 33 01 222122
2 " 34 " 34 02 222221
3 # 35 # 35 03 121223
4 $ 36 $ 36 04 121322
5 % 37 % 37 05 131222
6 & 38 & 38 06 122213
7 apos- 39 apos- 39 07 122312
trophe trophe
8 ( 40 ( 40 08 132212
9 ) 41 ) 41 09 221213
10 * 42 * 42 10 221312
11 + 43 + 43 11 231212
12 comma 44 comma 44 12 112232
13 - 45 - 45 13 122132
14 full 46 full stop 46 14 122231
stop
15 / 47 / 47 15 113222
16 0 48 0 48 16 123122
17 1 49 1 49 17 123221
18 2 50 2 50 18 223211
19 3 51 3 51 19 221132
20 4 52 4 52 20 221231
21 5 53 5 53 21 213212
22 6 54 6 54 22 223112
23 7 55 7 55 23 312131
24 8 56 8 56 24 311222
25 9 57 9 57 25 321122
26 colon 58 colon 58 26 321221
27 semi- 59 semi- 59 27 312212
colon colon
28 < 60 < 60 28 322112
29 = 61 = 61 29 322211
30 > 62 > 62 30 212123
31 ? 63 ? 63 31 212321
32 @ 64 @ 64 32 232121
33 A 65 A 65 33 111323
34 B 66 B 66 34 131123
35 C 67 C 67 35 131321
© ISO/IEC 2000 – All rights reserved 5
---------------------- Page: 10 ----------------------
ISO/IEC 15417:2000(E)
CODE ASCII CODE ASCII CODE ELEMENT ELEMENT
SYMBOL
SET VALUE SET VALUE SET WIDTHS PATTERN
CHAR.
A for Set A B for Set B C (modules)
VALUE
BSBSBS 1 2 3 456789
10 11
36 D 68 D 68 36 112313
37 E 69 E 69 37 132113
38 F 70 F 70 38 132311
39 G 71 G 71 39 211313
40 H 72 H 72 40 231113
41 I 73 I 73 41 231311
42 J 74 J 74 42 112133
43 K 75 K 75 43 112331
44 L 76 L 76 44 132131
45 M 77 M 77 45 113123
46 N 78 N 78 46 113321
47 O 79 O 79 47 133121
48 P 80 P 80 48 313121
49 Q 81 Q 81 49 211331
50 R 82 R 82 50 231131
51 S 83 S 83 51 213113
52 T 84 T 84 52 213311
53 U 85 U 85 53 213131
54 V 86 V 86 54 311123
55 W 87 W 87 55 311321
56 X 88 X 88 56 331121
57 Y 89 Y 89 57 312113
58 Z 90 Z 90 58 312311
59 [ 91 [ 91 59 332111
60 \ 92 \ 92 60 314111
61 ] 93 ] 93 61 221411
62 ^ 94 ^ 94 62 431111
63 _ 95 _ 95 63 111224
64 NUL 00 grave 96 64 111422
accent
65 SOH 01 a 97 65 121124
66 STX 02 b 98 66 121421
67 ETX 03 c 99 67 141122
68 EOT 04 d 100 68 141221
69 ENQ 05 e 101 69 112214
70 ACK 06 f 102 70 112412
71 BEL 07 g 103 71 122114
72 BS 08 h 104 72 122411
73 HT 09 i 105 73 142112
74 LF 10 j 106 74 142211
6 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 11 ----------------------
ISO/IEC 15417:2000(E)
CODE ASCII CODE ASCII CODE ELEMENT ELEMENT
SYMBOL
SET VALUE SET VALUE SET WIDTHS PATTERN
CHAR.
A for Set A B for Set B C (modules)
VALUE
BSBSBS 1 2 3 456789
10 11
75 VT 11 k 107 75 241211
76 FF 12 l 108 76 221114
77 CR 13 m 109 77 413111
78 SO 14 n 110 78 241112
79 SI 15 o 111 79 134111
80 DLE 16 p 112 80 111242
81 DC1 17 q 113 81 121142
82 DC2 18 r 114 82 121241
83 DC3 19 s 115 83 114212
84 DC4 20 t 116 84 124112
85 NAK 21 u 117 85 124211
86 SYN 22 v 118 86 411212
87 ETB 23 w 119 87 421112
88 CAN 24 x 120 88 421211
89 EM 25 y 121 89 212141
90 SUB 26 z 122 90 214121
91 ESC 27 { 123 91 412121
92 FS 28 | 124 92 111143
93 GS 29 } 125 93 111341
94 RS 30 ~ 126 94 131141
95 US 31 DEL 127 95 114113
96 FNC3 FNC3 96 114311
97 FNC2 FNC2 97 411113
98 SHIFT SHIFT 98 411311
99 CODE CODE 99 113141
C C
100 FNC4 114131
CODE CODE
B B
101 FNC4 CODE CODE 311141
A A
102 FNC1 FNC1 FNC1 411131
103 Start A 211412
104 Start B 211214
105 Start C 211232
CODE SET CODE SET CODE SET ELEMENT ELEMENT
SYMBOL
CHAR. A B C WIDTHS PATTERN
VALUE (modules)
BSBSBSB
1 234 567 8910 11 12 13
- Stop 2331112
NOTE The Stop character comprises 13 modules in four bars and three spaces. Every other character is 11 modules wide,
starts with a bar and ends with a space and comprises six elements, each of which varies from one to four modules in width.
© ISO/IEC 2000 – All rights reserved 7
---------------------- Page: 12 ----------------------
ISO/IEC 15417:2000(E)
The numeric values in the B and S columns represent the number of modules in each bar or space element respectively in the
symbol characters.
4.3.3 Code Sets
4.3.3.1 Code Set A
Code Set A includes all of the standard upper case alphanumeric characters and punctuation characters together
with the control characters, i.e. characters with ASCII values from 00 to 95, and seven special characters.
4.3.3.2 Code Set B
Code Set B includes all of the standard upper case alphanumeric characters and punctuation characters together
with the lower case alphabetic characters (i.e. ASCII characters 32 to 127 inclusive) and seven special characters.
4.3.3.3 Code Set C
Code Set C includes the set of 100 digit pairs from 00 to 99 inclusive, as well as three special characters. This
allows numeric data to be encoded as two data digits per symbol character.
4.3.4 Special characters
The last seven characters of Code Sets A and B (character values 96 - 102) and the last three characters of Code
Set C (character values 100 - 102) are special non-data characters with no ASCII character equivalents, which
have particular significance to the bar code reading device.
4.3.4.1 Code Set and shift characters
Code Set and shift characters shall be used to change from one code set to another within a symbol. They shall
not be transmitted by the decoder.
a) Code Set characters Code A, B or C characters change the symbol code set from the code set defined
previously to the new code set defined by the code character. This change applies to all characters following
the Code Set character until either the end of the symbol, another Code Set character or the Shift character is
encountered.
b) Shift character The Shift character changes the code set from A to B or B to A for the single character
following the shift character. Characters following the affected character shall revert to the Code Set A or B
defined prior to the Shift character. The shifted symbol character shall not be a Code Set or Shift character.
4.3.4.2 Function characters
Function Characters (FNC) define instructions to the bar code reading device to allow for special operations and
applications.
a) FNC1 shall be subject to the special considerations defined in annex B.
b) FNC2 (Message Append) instructs the bar code reader to store temporarily the data from the symbol
containing the FNC2 character and transmit it as a prefix to the data of the next symbol. This may be used to
concatenate several symbols before transmission. This character may occur anywhere in the symbol. Where
the sequence of data is significant, provision should be made to ensure reading of the symbols in the correct
sequence.
c) FNC3 (Initialise) instructs the bar code reader to interpret the data from the symbol containing the FNC3
character as instructions for initialization or reprogramming of the bar code reader. The data from the symbol
shall not be transmitted by the bar code reader. This character may occur anywhere in the symbol.
8 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 13 ----------------------
ISO/IEC 15417:2000(E)
d) FNC4 is used to represent an extended ASCII character set (byte values 128 to 255) as specified in ISO 8859-1
or otherwise in an application specification. If a single FNC4 character is used, the value 128 is added to the
ASCII value of the following data character in the symbol. A Shift character may follow the FNC4 character if it is
necessary to change code set for the following data character. Subsequent data characters revert to the standard
ASCII set. If two consecutive FNC4 characters are used, the value 128 is added to the ASCII value of following
data characters until two further consecutive FNC4 characters are encountered or the end of the symbol is
reached. If during this sequence of extended ASCII encodation a single FNC4 character is encountered it is
used to revert to standard ASCII encodation for the next data character only. Shift and code set characters shall
have their normal effect during such a sequence. The default reference character set for extended ASCII values
128 - 255 is the corresponding half of ISO 8859-1, Latin Alphabet 1, as shown in annex F, but application
specifications may define or reference alternative sets corresponding to byte values 128 to 255.
4.3.4.3 Start and Stop characters
Start characters A, B and C define the corresponding code set to be used initially in the symbol.
The Stop character is common to all code sets.
Start and Stop characters shall not be transmitted by the decoder.
4.3.5 Symbol check character
The symbol check character shall be included as the last symbol character before the Stop character. Annex A.1
defines the algorithm for its calculation. The symbol check character shall not be represented in the human
readable interpretation, nor shall it be transmitted by the decoder.
4.4 Dimensional requirements
Code 128 symbols shall conform to the following dimensions:
4.4.1 Minimum width of a module (X)
This should be defined by the application specification, having due regard to the availability of equipment for the
production and reading of symbols and complying with the general requirements of the application.
The X dimension shall be constant throughout a given symbol.
4.4.2 Quiet zone
Minimum width of the quiet zone (to the left and right of the Code 128 symbol): 10X
4.5 Reference decode algorithm
Bar code reading systems are designed to read imperfect symbols to the extent that practical algorithms permit.
This section describes the reference decode algorithm used in the computation of the decodability value described
in ISO/IEC 15416.
The algorithm contains the following steps to decode each bar coded character:
1. Calculate eight width measurements p, e ,e ,e ,e ,b ,b ,andb (Figure 5).
1 2 3 4 1 2 3
© ISO/IEC 2000 – All rights reserved 9
---------------------- Page: 14 ----------------------
ISO/IEC 15417:2000(E)
b b b
1 2 3
e e
1 3
e e
2 4
p
Figure 5 — Decode measurements
2. Convert measurements e ,e ,e ,and e to normalized values E ,E ,E ,and E which will represent the
1 2 3 4 1 2 3 4
integral module width (E ) of these measurements. The following method is used for the i-th value.
i
If 1,5p/11u e < 2,5p/11, then E =2.
i i
If 2,5p/11u e < 3,5p/11, then E =3.
i i
If 3,5p/11u e < 4,5p/11, then E =4.
i i
If 4,5p/11u e < 5,5p/11, then E =5.
i i
If 5,5p/11u e < 6,5p/11, then E =6.
i i
If 6,5p/11u e < 7,5p/11, then E =7.
i i
Otherwise the character is in error.
3. Look up character in decode table using the four values E ,E ,E ,and E as the key. (See Table 2.)
1 2 3 4
4. Retrieve character self-checking value V which is stored in the table with the character. The value V is
equal to the sum of the modules for the bars as defined for that character.
5. Verify that:
(V-1,75)p / 11 < (b1 + b2 + b3) < (V + 1,75)p / 11.
Otherwise the character is in error.
The calculation indirectly uses character parity to detect all decode errors caused by single non-systematic
one-module edge errors.
Using these five steps, decode the first character. If it is a Start character, continue decoding the symbol in the
normal forward direction. If it is not a Start character but decodes as a Stop character, attempt to decode all
subsequent characters in the reverse direction.
After all characters have been decoded, make sure there was a valid Start character, a valid Stop character, and
that the symbol check character is correct.
Translate the symbol characters into the appropriate data characters from Code Set A, B, or C according to the
Start character, code characters, and shift characters used in the symbol.
10 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 15 ----------------------
ISO/IEC 15417:2000(E)
In addition, perform such other secondary checks on quiet zones, beam acceleration, absolute timing, dimensions,
etc., as are deemed prudent and appropriate considering the specific reading device and intended application
environment.
NOTE In this algorithm the symbol is decoded using "edge to similar edge" measurements (e), plus an additional
measurement of the sum of the three bar widths.
© ISO/IEC 2000 – All rights reserved 11
---------------------- Page: 16 ----------------------
ISO/IEC 15417:2000(E)
Table 2 — Edge differences for decoding Code 128
Char. E1 E2 E3 E4 V Char. E1 E2 E3 E4 V
Value Value
00 33 446 54 4 2236
01 44 336 55 4 2456
02 44 446 56 6 4236
03 33 344 57 4 3326
04 33 454 58 4 3546
05 44 344 59 6 5326
06 34 434 60 4 5528
07 34 544 61 4 3554
08 45 434 62 7 4226
09 43 334 63 2 2344
10 43 444 64 2 2564
11 54 334 65 3 3234
12 23 456 66 3 3564
13 34 346 67 5 5234
14 34 456 68 5 5344
15 24 546 69 2 3434
16 35 436 70 2 3654
17 35 546 71 3 4324
18 45 536 72 3 4654
19 43 246 73 5 6324
20 43 356 74 5 6434
21 34 536 75 6 5334
22 45 426 76 4 3224
23 43 348 77 5 4428
24 42 346 78 6 5224
25 53 236 79 4 7526
26 53 346 80 2 2366
27 43 436 81 3 3256
28 54 326 82 3 3366
29 54 436 83 2 5636
30 33 336 84 3 6526
31 33 556 85 3 6636
32 55 336 86 5 2336
33 22 454 87 6 3226
34 44 234 88 6 3336
35 44 454 89 3 3358
36 23 544 90 3 5538
37 45 324 91 5 3338
38 45 544 92 2 2256
39 32 444 93 2 2476
40 54 224 94 4 4256
41 54 444 95 2 5526
42 23 346 96 2 5746
43 23 566 97 5 2226
44 45 346 98 5 2446
45 24 436 99 2 4458
46 24 656 100 2 5548
47 46 436 101 4 2258
48 44 438 102 5 2248
49 32 466 103 3 2554
50 54 246 104 3 2334
51 34 426 105 3 2356
52 34 646 Stop 5 6426
A
53 34 448 Stop 3 2246
B
NOTE Stop values are for decoding in forward direction. Stop values apply to the first six elements of the Stop character
A B
starting at the rightmost side, when scanned in reverse direction.
12 © ISO/IEC 2000 – All rights reserved
---------------------- Page: 17 ----------------------
ISO/IEC 15417:2000(E)
4.6 Symbol quality
4.6.1 General
ISO/IEC 15416 defines a standardized methodology for measuring and grading bar code symbols. Code 128
symbols shall be evaluated according to that standard. The reference decode algorithm defined in section 4.5 of
this specification shall be used for the assessment of the "decode" and "decodability" parame
...
NORME ISO/CEI
INTERNATIONALE 1
Première édition
2000-0 6- 01
hlde rmion —
Techniques d'identification automatique et
de capture des données — Spécifications
pour sss —
Information technology — Automatic identification and data capture
techniques — Bar code symbology specification — Code 128
Numéro de référence
ISO/CEI 15 417:2000(F)
©
ISO/CEI 2000
Code128
les ymbole des codes à barre
at l'info ogies no Tec
54 17
---------------------- Page: 1 ----------------------
ISO/CEI 15417:2000(F)
PDF – Exonération de responsabilité
Le présent fichier PDF peut contenir des polices de caractères intégrées. Conformément aux conditions de licence d'Adobe, ce fichier peut
être imprimé ou visualisé, mais ne doit pas être modifié à moins que l'ordinateur employé à cet effet ne bénéficie d'une licence autorisant
l'utilisation de ces polices et que celles-ci y soient installées. Lors du téléchargement de ce fichier, les parties concernées acceptent de fait la
responsabilité de ne pas enfreindre les conditions de licence d'Adobe. Le Secrétariat central de l'ISO décline toute responsabilité en la
matière.
Adobe est une marque déposée d'Adobe Systems Incorporated.
Les détails relatifs aux produits logiciels utilisés pour la création du présent fichier PDF sont disponibles dans la rubrique General Info du
fichier; les paramètres de création PDF ont été optimisés pour l'impression. Toutes les mesures ont été prises pour garantir l'exploitation de
ce fichier par les comités membres de l'ISO. Dans le cas peu probable où surviendrait un problème d'utilisation, veuillez en informer le
Secrétariat central à l'adresse donnée ci-dessous.
© ISO/CEI 2000
Droits de reproduction réservés. Sauf prescription différente, aucune partie de cette publication ne peut être reproduite ni utilisée sous quelque
forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et les microfilms, sans l'accord écrit de l’ISO à
l’adresse ci-après ou du comité membre de l’ISO dans le pays du demandeur.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax. + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Version française parue en 2003
en Suisse
ii © ISO/CEI 2000 – Tous droits réservés
Pu blié
---------------------- Page: 2 ----------------------
10
Sommaire
................................ ................................ ................................ ................................ ......................
................................ ................................ ................................ ................................ ..........................v
1. . . .1
2. . . .1
3. . . .1
4. . . . .2
................................ ................................ ................................ .........2
................................ ................................ ................................ ..........................2
................................ ................................ ................................ ............................3
................................ ................................ ................................ ................................ ..............9
................................ ................................ ............................9
................................ ................................ ................................ ............................
................................ ................................ ................
................................ ................................ ................................ ..............................
(normative) . .
..............................
................................ ................................ .........................
..........................
................................ ................................ ................................ ............
Annexe F (informative) Jeu de caractères ISO 8859-1 (alphabet latin n° 1) . 23
................................ ......................
................................ .....................
© ISO/CEI 2000 – Tous droits réservés iii
25 Recommandations pour l’utilisation du Code 128 (informative) Annexe H
24 Paramètres d’application définis par l'utilisateur (informative) Annexe G
21 réduire la longueur du symbole
Utilisation des caractères de début, de jeu de code et de basculement pour (informative) Annexe E
20 Relation entre la valeur du caractère symbolisé et la valeur ASCII (informative) Annexe D
19 Identifiants de symbologie (informative) Annexe C
17 Considérations spéciales concernant le Code Fonction 1 (FNC1) (normative) Annexe B
15 Caractéristiques supplémentaires du «Code 128» Annexe A
14 Données transmises 4.8
13 Paramètres d'application définis par l'utilisateur 4.7
13 Qualité des symboles 4.6
Algorithme de référence pour le décodage 4.5
Dimensions 4.4
Codage des caractères 4.3
Structure des symboles 4.2
Caractéristiques de la symbologie 4.1
Prescriptions
Termes et définitions
Références normatives
Domaine d'application
Introduction
iv Avant-propos
Page
5417:200(F) ISO/CEI
---------------------- Page: 3 ----------------------
10
Avant-propos
L'ISO (Organisation internationale de normalisation) et la CEI (Commission électrotechnique internationale)
forment le système spécialisé de la normalisation mondiale. Les organismes nationaux membres de l'ISO ou de la
CEI participent au développement de Normes internationales par l'intermédiaire des comités techniques créés par
l'organisation concernée afin de s'occuper des domaines particuliers de l'activité technique. Les comités
techniques de l'ISO et de la CEI collaborent dans des domaines d'intérêt commun. D'autres organisations
l'ISO et la CEI participent également
Les Normes internationales sont rédigées conformément aux règles données dans les Directives ISO/CEI,
3.
Dans le domaine des technologies de l'information, l'ISO et la CEI ont créé un comité technique mixte,
1. Les projets de Normes internationales adoptés par le comité technique mixte sont soumis aux
% au
L’attention est appelée sur le fait que certains des éléments de la présente Norme internationale peuvent faire
l’objet de droits de propriété intellectuelle ou de droits analogues. L’ISO et la CEI ne sauraient être tenues pour
responsables de ne pas avoir identifié de tels droits de propriété et averti de leur existence.
La Norme internationale ISO/CEI 15417 a été élaborée par le comité technique mixte ISO/CEI JTC 1,
Technologies de l'information, sous-comité SC 31, Techniques d’identification et de captage automatique des
données.
Les annexes A à C constituent des éléments normatifs de la présente Norme internationale. Les annexes D à H
sont données uniquement à titre d’information.
iv © ISO/CEI 2000 – Tous droits réservés
moins des organismes nationaux votants.
organismes nationaux pour vote. Leur publication comme Normes internationales requiert l'approbation de 75
JTC l'ISO/CEI
Partie
aux travaux.
mentales, en liaison avec internationales, gouvernementales ou non gouverne
5417:200(F) ISO/CEI
---------------------- Page: 4 ----------------------
10
Introduction
La technologie du code à barres est basée sur la reconnaissance de combinaisons codées de barres et d'espaces
de dimensions définies. Il existe un certain nombre de méthodes pour coder des informations sous forme de code
à barres, connues sous le nom de symbologies. Les règles définissant la traduction de caractères en
combinaisons de barres et d'espaces et d'autres caractéristiques essentielles sont connues sous le nom de
Les fabricants de matériel de code à barres et les utilisateurs de technologie de code à barres exigent des
spécifications de symbologie normalisées pour le public auxquelles ils puissent se référer lorsqu'ils mettent au
© ISO/CEI 2000 – Tous droits réservés v
point des équipements et des applications spécifiques.
symbologies. est une de ces symbologie. Le «Code 128» spécification de
5417:200(F) ISO/CEI
---------------------- Page: 5 ----------------------
NORME INTERNATIONALE ISO/CEI 15417:2000(F)
Technologi es de l'information — Technique d'identification automatique et
de capture des données — Spécifications pour les symboles des codes à
barres — Code 128
1 Domaine d'application
La présente Norme internationale définit les spécifications techniques relatives à la symbologie des codes à
barres connue sous l'appellation Code 128. Elle spécifie les caractéristiques de symbologie, le codage des
caractères de données, les dimensions, les algorithmes de décodage et les paramètres d'application du Code 128
qui doivent être définis par l'utilisateur. Elle spécifie les chaînes de préfixe d'identificateur de symbologie pour les
2
Les documents normatifs suivants contiennent des dispositions qui, par suite de la référence qui y est faite,
constituent des dispositions valables pour la présente Norme internationale . Pour les références datées, les
amendements ultérieurs ou les révisions de ces publications ne s’appliquent pas. Toutefois, les parties prenantes
aux accords fondés sur la présente Norme internationale sont invitées à rechercher la possibilité d’appliquer les
éditions les plus récentes des documents normatifs indiqués ci-après. Pour les références non datées, la dernière
ISO/CEI 646, Technologies de l’information — Jeu ISO de caractères codés à 7 éléments pour l’échange
.
ISO/CEI 8859-1, Technologies de l’information — Jeux de caractères graphiques codés sur un seul octet —
l 1.
ISO/CEI 10646-1, Technologies de l'information — Jeu universel de caractères codés sur plusieurs octets
)—J(.
ISO/CEI 15424, Technologies de l'information — Techniques d'identification automatique et de capture de
—.
ISO/CEI 15416, Technologies de l'information — Techniques d'identification automatique et de capture des
——.
.
3 Termes et définitions
© ISO/CEI 2000 – Tous droits réservés1
s’appliquent. donnés dans laEN 1556 , les termes et définitions de la présente Norme internationale Pour les besoins
Codes à barres — Terminologie EN 1556,
données Spécifications pour essai de qualité d'impression des codes à barres Symboles linéaires
identificateurs de symboles) Identificateurs de porteuses de données (comprenant les données
multilingue de base UCPartie 1 : Architecture et plan
Partie 1 :Alphabet atin n°
d’informatio ns
Normes internationales en vigueur.
l’ISO et de la CEI possèdent le registre des édition du document normatif en référence s’applique. Les membres de
Références normatives
symboles du Code 128.
---------------------- Page: 6 ----------------------
10
4 Prescriptions
4.1
:
1) les 128 caractères ASCII, c'est-à-dire les caractères ASCII de 0 à 127 inclus, conformément à l'ISO 646 ;
;
;
;
;
;
c) : 6, comprenant 3 barres et 3 espaces, chacun ayant une largeur de 1, 2, 3
;
;
;
f) ;
a ;
densité des caractères de données : 11 modules par caractère de symbole (5,5 modu les par caractère
;
i)
4.2
;
;
c) ;
;
;
f)
.»«»«
2 © ISO/CEI 2000 – Tous droits réservés
La Figure 1 représente un symbole en Code 128 qui est le codage du texte AIM
une marge de droite.
une borne de fin de lecture e)
un caractère de contrôle du symbole d)
un ou plusieurs caractères représentant des données et des caractères spéciaux
une borne de début de lecture b)
une marge de gauche a)
Chaque symbole en Code 128 doit comprendre
Structure des symboles
caractères auxiliaires (qui ne sont pas des données) : équivalent à 35 modules.
numérique)
h)
: un, obligatoire (voir nnexe A.1) caractère de contrôle du symbole g)
décodage bidirectionnel : oui
: variable longueur des symboles e)
auto contrôle de caractère : oui d)
ou 4 modules (borne de fin de lecture : 7 éléments comprenant 4 barres et 3 espaces)
éléments par caractère symbolisé
type de code : continu b)
1 borne de fin de lecture 6)
3 bornes de début de lecture 5)
4 caractères de sélection du jeu de code 4)
; 4 caractères de fonction (qui ne sont pas des données) 3)
les caractères ayant des valeurs ASCII de 128 à 255 peuvent également être codés 2)
encodables jeu de caractères a)
Les caractéristiques du Code 128 sont les suivantes :
symbologie Caractéristiques de la
5417:200(F) ISO/CEI
---------------------- Page: 7 ----------------------
10
Marge Borne de Caractères Borne de Marge
début de Caractères de données de contrôle fin de
lecture du symbole lecture
AIM
»«—
4.3
»«»«
La somme des modules de barres dans tout caractère symbolisé doit toujours être paire (parité paire) et celle des
modules d'espaces est donc toujours impaire. Cette caractéristique de parité paire permet d'effectuer
123456789 10 11
211412
—
La Figure 3 ci-dessous illustre le codage de la valeur 35 en caractères symbolisés, qui représente le caractère de
»«»C«
123456789 10 11
1313 2 1
—
© ISO/CEI 2000 – Tous droits réservés3
Figure 3Valeur 35 en caractères symbolisés
donnée dans les jeux de code A ou B ou les deux chiffres 35 dans le jeu de code C.
Figure 2 Borne de début de lecture A du «Code 128»
La Figure 2 ci-dessous illustre une borne de début de lecture A
contrôle de chaque caractère.
l'auto-
Structure des caractères symbolisés 4.3.1
valeurs numériques représentent la largeur des éléments en modules ou en multiples de la dimension en X.
Le Tableau 1 définit le codage de tous les caractères du Code 128 . Dans la colonne Largeur des éléments , les
Codage des caractères
Figure 1 Symbole en Code 128
5417:200(F) ISO/CEI
---------------------- Page: 8 ----------------------
10
123456789 10 11 12 13
2 3 3 111 2
Jeux de code A, B et C. Les combinaisons de barres et d'espaces des caractères symbolisés indiquées sont
de code dépend de la borne de début de lecture ou de l'utilisation des caractères de Code A, Code B ou Code C
ou du caractère de basculement transitoire. Si le symbole commence par la borne de début de lecture A, le jeu de
code A est défini initialement. Les jeux de code B et C sont définis de façon similaire en commençant le symbole
par la borne de début de lecture B ou C respectivement. Le jeu de code peut être redéfini à l'intérieur du symbole
grâce à l'utilisation des caractères de Code A, B ou C ou du caractère de basculement transitoire. (Voir
différentes combinaisons de borne de début de lecture, de jeu de code et de basculement transitoire. Une
application ne doit pas spécifier le jeu de code à utiliser. L'Annexe E présente les règles à suivre pour réduire la
utilisent des combinaisons valides de borne de début de lecture, de jeu de code ou de caractère de basculement
transitoire autres que celles spécifiées dans l'Annexe E, comme un symbole avec un caractère de jeu de code à la
A chaque caractère de symbole est attribuée une valeur numérique répertoriée au Tableau 1. Cette valeur sert à
calculer la valeur du caractère de contrôle du symbole. Le cas échéant, elle permet également une conversion en
4 © ISO/CEI 2000 – Tous droits réservés
ou à partir de valeurs ASCII (voir Annexe D).
fin des données, par exemple.
longueur du symbole pour toute donnée quelle qu'elle soit. Par ailleurs, un décodeur doit décoder les symboles qui
Les mêmes données peuvent être représentées par des différents symboles du «Code 128» , grâce à l'utilisation de
4.3.4.2 pour l'utilisation de ces caractères spéciaux).
équivalentes aux caractères symbolisés indiqués dans les colonnes pour le Jeu de code A, B ou C. Le choix du jeu
Le «Code 128» possède trois jeux de code de caractères de données uniques, présentés dans le Tableau 1 comme
Codage des caractères de donnée 4.3.2
Figure 4 —Caractère de fin en «Code 128»
La Figure 4 ci-dessous illustre la borne de fin de lecture.
5417:200(F) ISO/CEI
---------------------- Page: 9 ----------------------
10
Valeur Valeur Valeur Largeurs des éléments Combinaison d’éléments
code C
(exprimée en nombre de
symbole modules)
Mode A mode B
BSBSBS123456789
0espace espace212222
1!!222122
2« « 222221
3##121223
4$$121322
5%%131222
6&&122213
7apos- apos-122312
8((132212
9))221213
**221312
++231212
112232
--122132
point point122231
//113222
00123122
11123221
22223211
33221132
4422231
55213212
66223112
77312131
88311222
99321122
- -321221
points points
point-point-312212
<<322112
==322211
>>212123
??212321
@@232121
AA111323
BB131123
CC131321
DD112313
EE132113
« à suivre »
© ISO/CEI 2000 – Tous droits réservés5
37 69 69 37
36 68 68 36
35 67 67 35
34 66 66 34
33 65 65 33
32 64 64 32
31 63 63 31
30 62 62 30
29 61 61 29
28 60 60 28
virgule virgule
27 59 59 27
26 58 deux 58 deux 26
25 57 57 25
24 56 56 24
23 55 55 23
22 54 54 22
21 53 53 21
20 52 52 20
19 51 51 19
18 50 50 18
17 49 49 17
16 48 48 16
15 47 47 15
14 46 46 14
13 45 45 13
12 44 virgule 44 virgule 12
11 43 43 11
10 42 42 10
09 41 41
08 40 40
trophe trophe
07 39 39
06 38 38
05 37 37
04 36 36
03 35 35
02 34 34
01 33 33
00 30 32
11 10
pour pour
ASCII ASCII Car. de
code B code A
Jeu de Jeu de Jeu de
Tableau 1 — Codage des caractères en Code 128
5417:200(F) ISO/CEI
---------------------- Page: 10 ----------------------
10
Valeur Valeur Valeur Largeurs des éléments Combinaison d’éléments
code C
(exprimée en nombre de
symbole modules)
Mode A mode B
BSBSBS123456789
FF132311
GG211313
HH231113
II231311
JJ112133
KK112331
LL132131
MM113123
NN113321
OO133121
PP313121
QQ211331
RR231131
SS213113
TT213311
UU213131
VV311123
WW311321
XX331121
YY312113
ZZ312311
[[332111
\\314111
]]221411
^^431111
__111224
nul111422accent
SOHa121124
STXb121421
ETXc141122
EOTd141221
ENQe112214
f112412
g122114
h122411
HTi142112
VTk241211
FFl221114
CRm413111
« à suivre »
6 © ISO/CEI 2000 – Tous droits réservés
77 109 13 77
76 108 12 76
75 107 11 75
73 105 09 73
72 104 08 BS 72
71 103 07 BEL 71
70 102 06 ACK 70
69 101 05 69
68 100 04 68
67 99 03 67
66 98 02 66
65 97 01 65
grave
64 96 00 64
63 95 95 63
62 94 94 62
61 93 93 61
60 92 92 60
59 91 91 59
58 90 90 58
57 89 89 57
56 88 88 56
55 87 87 55
54 86 86 54
53 85 85 53
52 84 84 52
51 83 83 51
50 82 82 50
49 81 81 49
48 80 80 48
47 79 79 47
46 78 78 46
45 77 77 45
44 76 76 44
43 75 75 43
42 74 74 42
41 73 73 41
40 72 72 40
39 71 71 39
38 70 70 38
11 10
pour pour
ASCII ASCII Car. de
code B code A
Jeu de Jeu de Jeu de
Tableau 1 (suite)
5417:200(F) ISO/CEI
---------------------- Page: 11 ----------------------
10
Valeur Valeur Valeur Largeurs des éléments Combinaison d’éléments
code C
(exprimée en nombre de
symbole modules)
Mode A mode B
BSBSBS123456789
SOn241112
o134111
p111242
DC1q121142
DC2r121241
DC3s114212
DC4t124112
u124211
v411212
ETBw421112
x421211
y212141
z214121
{412121
I111143
GS}111341
~131141
114113
FNC3 FNC31311
FNC2 FNC2411113
SHIFT SHIFT411311
CODE C CODE C113141
FNC4114131
FNC4311141
FNC1 FNC1 FNC1411131
211412
211214
211232
Valeur Largeurs des éléments Combinaison d’éléments
code C (exprimée en nombre de
symbole modules)
BSBSBS B 1 23 4 56 7 8910 11 12 13
- Stop 2331112
La borne de fin de lecture comprend 13 modules en quatre barres et trois espaces. Chacun des autres caractères
Les valeurs numériques des colonnes B et S représentent le nombre respectif de modules de chaque barre ou
© ISO/CEI 2000 – Tous droits réservés 7
espace dans les caractères symbolisés.
en largeur de un à quatre modules.
fait 11 modules de largeur, commence par une barre, se termine par un espace et comprend six éléments, chacun d’eux variant
NOTE
code B code A Car. de
Jeu de Jeu de Jeu de
Début C 105
Début B 104
Début A 103
102
CODE A CODE A 101
CODE B CODE B 100
99 99
98 98
97 97
96 96
95 127 DEL 31 US 95
94 126 30 RS 94
93 125 29 93
92 124 28 FS 92
91 123 27 ESC 91
90 122 26 SUB 90
89 121 25 EM 89
88 120 24 CAN 88
87 119 23 87
86 118 22 SYN 86
85 117 21 NAK 85
84 116 20 84
83 115 19 83
82 114 18 82
81 113 17 81
80 112 16 DLE 80
79 111 15 SI 79
78 110 14 78
11 10
pour pour
ASCII ASCII Car. de
code B code A
Jeu de Jeu de Jeu de
Tableau 1 (fin)
5417:200(F) ISO/CEI
---------------------- Page: 12 ----------------------
10
Le jeu de code A comprend tous les caractères alphanumériques majuscules standards, les caractères de
ponctuation et les caractères de contrôle, c'est-à-dire les caractères ayant les valeurs ASCII de 00 à 95, et sept
Le jeu de code B comprend tous les caractères alphanumériques majuscules standards, les caractères de
ponctuation et les caractères alphabétiques minuscules (c'est-à-dire les caractères ASCII de 32 à 127 inclus) ainsi
Le jeu de code C comprend l’ensemble des 100 paires de chiffres de 00 à 99 inclus, ainsi que trois caractères
Les sept derniers caractères des jeux de code A et B (valeurs de caractère 96 à 102) et les trois derniers
caractères du jeu de code C (valeurs de caractères 100 à 102) sont des caractères spéciaux (qui ne sont pas des
données) et n'ont pas d'équivalents en caractères ASCII, mais ils ont une signification particulière pour le système
Caractères de jeu de code : Les caractères de jeu de code A, B ou C, font passer le jeu de code en vigueur
du symbole au nouveau jeu de code défini par le caractère de code. Ce changement s'applique à tous les
caractères qui suivent le caractère de jeu de code jusqu'à la fin du symbole ou jusqu'à ce qu'un autre
;
Le caractère de basculement transitoire change le jeu de code A en
jeu de code B ou inversement uniquement pour le caractère situé juste après le caractère de basculement.
de basculement transitoire. Le caractère qui bascule ne doit être ni un caractère de jeu de code ni un
Les Caractères de Fonction (FNC) définissent des instructions à destination du système de lecture de code à
;
FNC2 (Concaténation de symbole) : son usage donne au lecteur l'instruction de stocker temporaire ment les
données du symbole contenant le caractère FNC2 et de les transmettre comme préfixe aux données du
symbole suivant. Cela peut servir à chaîner plusieurs symboles avant la transmission. Ce caractère peut se
trouver n'importe où dans le symbole. Lorsque l'ordre des données est important, une disposition doit être
;
c)
du symbole contenant le caractère FNC3 afin d'initialiser ou de reprogrammer le lecteur. Les données de ce
symbole ne doivent pas être transmises par le lecteur. Ce caractère peut se trouver n'importe où dans le
;
8 © ISO/CEI 2000 – Tous droits réservés
symbole
FNC3 (Initialiser) : son usage donne au lecteur de codes à barres l'instruction d'interpréter les données à partir
prise pour garantir la lecture des symboles dans le bon ordre
b)
FNC1 : son usage est soumis aux considérations particulières définies en annexe B a)
barres afin de permettre des opérations et des applications spécifiques.
Caractères de fonction 4.3.4.2
caractère de basculement transitoire.
Les caractères suivant le caractère affecté doivent revenir au jeu de code A ou B en vigueur avant le caractère
Caractère de basculement transitoire : b)
caractère de jeu de code soit rencontré
a)
autre à l'intérieur d'un symbole. Ils ne doivent pas être transmis par le décodeur.
Les caractères de jeu de code et de basculement transitoire doivent être utilisés pour passer d'un jeu de code à un
Caractères de jeu de code et de basculement transitoire 4.3.4.1
de lecture de code à barres.
Caractères spéciaux 4.3.4
spéciaux. Ceci permet le codage des données numériques sous forme de deux chiffres par caractère de symbole.
Jeu de code C 4.3.3.3
que sept caractères spéciaux.
Jeu de code B 4.3.3.2
caractères spéciaux.
Jeu de code A 4.3.3.1
Jeux de code 4.3.3
5417:200(F) ISO/CEI
---------------------- Page: 13 ----------------------
10
FNC4 : il est utilisé pour représenter le jeu étendu des caractères ASCII (valeurs ASCII 128 à 255) comme
précisé dans l'ISO 8859-1 ou dans une spécification d’application. Lorsqu’un seul caractère FNC4 est
le caractère FNC4 peut être suivi d’un caractère de basculement transitoire pour changer le jeu de code pour
le caractère de données suivant. Les caractères de données suivants basculent de nouveau en jeu ASCII
standard. Si deux caractères FNC4 consécutifs sont utilisés, la valeur 128 est ajoutée à la valeur ASCII des
caractères de données suivants jusqu’à ce que deux caractères FNC4 consécutifs soient rencontrés ou
jusqu’à ce que la fin du symbole soit atteinte. Si pendant cette séquence de codage ASCII étendu un seul
caractère FNC4 et rencontré, il est utilisé pour retourner au codage ASCII standard pour le caractère de
l'ISO 8859-1, Alphabet Latin 1, comme indiqué en annexe F, mais des
Le caractère de contrôle du symbole doit être inclus dans le dernier caractère du symbole avant la borne de fin de
lecture. L'article A.1 définit l’algorithme utilisé pour son calcul. Le caractère de contrôle du symbole ne doit pas
4.4
Il convient que cette largeur soit définie par la spécification d’application, en tenant compte de la disponibilité des
ed
4.5
Les systèmes de lecture de codes à barres sont conçus pour lire des symboles imparfaits dans la mesure où des
:
© ISO/CEI 2000 – Tous droits réservés9
L'algorithme contient les étapes suivantes pour décoder chaque caractère de code à barres
l’ISO/CEI 15416. décodabilité décrite dans calcul de la valeur de
algorithmes utilisables le permettent. Cette section décrit l'algorithme de référence pour le décodage, utilisé pour le
Algorithme de référence pour le décodage
est de 10X. La largeur minimale de la marge (à gauche et à droite du symbole en code 128)
Marge 4.4.2
La dimension en X doit être constante sur la totalité d’un symbole donné.
équipements pour la production et la lecture des symboles et en respectant les exigences générale de l’application.
Largeur minimale d’un module (X) 4.4.1
Les symboles de "Code 128" doivent respecter les dimensions suivantes :
Dimensions
être représenté en clair et ne doit pas être transmis par le décodeur.
Caractère de contrôle du symbole 4.3.5
Les bornes de début et de fin ne doivent pas être transmises par le décodeur.
La borne de fin de lecture est commune à tous les jeux de code.
Les bornes de début de lecture A, B et C définissent le jeu de code à utiliser en début de symbole.
Bornes de début et de fin de lecture 4.3.4.3
règles d'utilisation peuvent définir d'autres jeux correspondant aux valeurs d’octet 128 à 255.
à 255 est la moitié correspondantes de
effet normal pendant cette séquence. Le jeu de caractères de référence par défaut pour les valeurs ASCII 128
donnée suivant uniquement. Les caractères de basculement transitoires et de jeu de code doivent exercer leur
utilisé, la valeur 128 est ajoutée à la valeur ASCII du caractère de donnée suivant dans le symbole. Au besoin,
d)
5417:200(F) ISO/CEI
---------------------- Page: 14 ----------------------
10
.1 p, ee, e, eb, bb1234123
b b b
1 2 3
e e
1 3
e e
2 4
p
Convertir les mesures e, e, e et e en valeurs EEE et E qui représentent la largeur totale de ces12341234
Ei :
i
¾ p£ epE= 2 ;
i i
¾ p£ epE ;
i i
¾ p£ epE= 4 ;
i i
¾ p£ epE= 5 ;
i i
¾ p£ epE= 6 ;
i i
¾ p£ epE = 7.
i i
3. Rechercher le caractère dans le tableau de décodage en utilisant les quatre valeurs E, EE et E comme1234
;
4. Extraire la valeur V d'autocontrôle de caractère qui est indiquée dans le tableau en regard du caractère. La
V ;
(Vb bbV/ 11
Le calcul utilise indirectement la parité des caractères pour détecter toute erreur de décodage provoquée par un
En utilisant ces cinq étapes, décoder le premier caractère. S'il s'agit d'une borne de début de lecture, continuer à
décoder le symbole dans le sens de lecture normal. S'il ne s'agit pas d'une borne de début de lecture mais d’une
10 © ISO/CEI 2000 – Tous droits réservés
borne de fin de lecture, essayer de décoder tous les caractères suivants en sens inverse.
défaut unique et non systématique de la valeur d'un module dans le bord d'une barre.
Autrement, le caractère est erroné.
p + 1,75) 3) < ( 2 + 1 + / 11 < ( p - 1,75)
Vérifier que 5.
est égale à la somme des largeurs des barres en modules comme défini pour ce caractère valeur
valeur d'entrée (voir tableau 2)
,
Autrement, le caractère est erroné.
/11, alors < 7.5 /11 Si 6.5
/11, alors < 6.5 /11 Si 5.5
/11, alors < 5.5 /11 Si 4.5
/11, alors < 4.5 /11 Si 3.5
= 3 /11, alors < 3.5 /11 Si 2.5
/11, alors < 2.5 /11 Si 1.5
). La méthode suivante est utilisée pour la énième valeur de mesures en nombres entiers de module (
, , 2.
Figure 5 — Mesures de décodage
(Figure 5). et , , Calculer huit mesures de largeur
5417:200(F) ISO/CEI
---------------------- Page: 15 ----------------------
10
Après avoir décodé tous les caractères, vérifier qu'il y avait une borne de début de lecture valide, une borne de fin
Convertir les caractères de symbole en caractères de données appropriés à partir du jeu de code A, B ou C en
Effectuer en outre d’autres contrôles secondaires similaires pour vérifier les marges, l’accélération du faisceau, les
facteurs temps absolu, les dimensions, etc. par mesure de prudence et comme il convient en considérant à la fois
NOTE Dans cet algorithme, le symbole est décodé à l’aide de mesures «de bord à bord identique» (e), plus une mesure
© ISO/CEI 2000 – Tous droits réservés 11
supplémentaire de la somme des trois largeurs de barre.
le lecteur utilisé et l’environnement d’application prévu.
dans le symbole.
fonction de la borne de début de lecture, des caractères de code et des caractères de basculement unitaire utilisés
de lecture valide et que le caractère de contrôle cal
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.