UPC / EAN
Structure
C'est le "Code Produit Universel" appelé aussi "Numéro d'Article Européen" que l'on trouve sur tous les biens de consommation.
Le code est divisé en deux parties que nous nommerons "partie gauche et partie droite".
Outre les caractères de début et fin de lecture, un caractère séparateur est positionné au milieu du code.
La hauteur du code doit être supérieure a la largeur d'un demi-code.
La lecture est bidirectionnelle.
Le code peut se présenter sous deux formes, dont voici la description pour la 1ère forme :
- marge gauche
- caractère de bornage gauche
- caractère "numéro de système"
- caractères significatifs de gauche (5)
- caractère séparateur
- caractères significatifs de droite (5)
- clé de contrôle
- borne droite
- marge droite
La seconde forme n'a qu'une seule zone de caractères significatifs (pas de séparateur).
L'UPC se présente sous 4 versions différentes :
- Version A) Pour les codes à 10 chiffres :
- les "impaires" à gauche, les "paires" à droite, le séparateur au milieu
- chaque demi code est formé de 6 caractères (car.système + 2x5 + clé)
- à gauche : identification du fabricant, à droite : identification produit
- Version B) Version "code de longueur variable".
- Version E) Correspond aux symboles courts : 6 caractères seulement, de symbologie gauche, mais avec les deux parités, paire et impair.
- Version D) Les quatres types de caractères (gauche-pair, gauche-impair, droite-pair, droite-impair) sont employés, ce qui permet d'avoir une famille de codes, compatibles entre eux, lisibles dans chaque sens, et de longueur variable, c'est la grande souplesse.
L'EAN se compose de 13 caractères, 12 chiffres plus une clé de contrôle. Il fonctionne de la même manière que l'UPC, avec lequel il est compatible. Pour ce faire, on code les caractères de gauche avec les deux parités, 3 sur 6 ayant une parité paire. Le 13ème caractère peut donc être inclus dans la séquence de parité du demi-code gauche.
Les éléments du code UPC / EAN peuvent avoir des largeurs de 1, 2, 3 ou 4 modules, cela n'est exact que pour les chiffres 0, 3, 4, 5, 6, 9. Le 1 et le 2 sont un peu plus étroits (d'1/13ème de module), le 7 et le 8 un peu plus larges (d'1/13ème de module également).
Symbologie
Eléments : barres et espaces de 4 tailles différentes : 1, 2, 3 ou 4 modules de base
Caractères : 4 éléments : 2 barres et 2 espaces, il totalise toujours 7 modules
à gauche : 3 ou 5 modules noirs (parité impaire)
à droite : 2 ou 4 modules noirs (parité paire)
Ratio : 1 pour 2, 1 pour 3 et 1 pour 4
Continuité : continu dans chaque moitié de code
Marges :
Jeu de caractères : 0 à 9
Caractère de départ : 101 non
Caractère de fin : 101 non
Caractère séparateur : 01010 onono
Clé de contrôle : Calculée en "Modulo 10" elle répond a la formule suivante :
- de la droite vers la gauche ( <-- )
- a = SOMME (valeurs des pos. impaires) * 3
- b = SOMME (valeurs des pos. paires)
- c = (a + b) MOD 10
- complément à 10 de cexemple :
soit le code EAN suivant : 4 002604 005326
la clé de contrôle est donc 6 (le dernier chiffre), voyons comment celui-ci est calculé
- a = SOMME ( 2 + 5 + 0 + 0 + 2 + 0 ) * 3 = 9 * 3 = 27
- b = SOMME ( 3 + 0 + 4 + 6 + 0 + 4 ) = 17
- c = ( 27 + 17 ) MOD 10 = 44 MOD 10 = 4
- complément à 10 de 4 (10-4) = 6
Codage
Le codage des caractères est original, il n'est pas le même selon que le caractère figure à gauche ou à droite.
| Caractère | Codage | Représentation | ||||||||
| gauche impair GI |
0 | 0001101 | ||||||||
| 1 | 0011001 | |||||||||
| 2 | 0010011 | |||||||||
| 3 | 0111101 | |||||||||
| 4 | 0100011 | |||||||||
| 5 | 0110001 | |||||||||
| 6 | 0101111 | |||||||||
| 7 | 0111011 | |||||||||
| 8 | 0110111 | |||||||||
| 9 | 0001011 | |||||||||
| gauche pair GP |
0 | 0100111 | ||||||||
| 1 | 0110011 | |||||||||
| 2 | 0011011 | |||||||||
| 3 | 0100001 | |||||||||
| 4 | 0011101 | |||||||||
| 5 | 0111001 | |||||||||
| 6 | 0000101 | |||||||||
| 7 | 0010001 | |||||||||
| 8 | 0001001 | |||||||||
| 9 | 0010111 | |||||||||
| droite pair DP |
0 | 1110010 | ||||||||
| 1 | 1100110 | |||||||||
| 2 | 1101100 | |||||||||
| 3 | 1000010 | |||||||||
| 4 | 1011100 | |||||||||
| 5 | 1001110 | |||||||||
| 6 | 1010000 | |||||||||
| 7 | 1000100 | |||||||||
| 8 | 1001000 | |||||||||
| 9 | 1110100 | |||||||||
| début | 101 | |||||||||
| fin | 101 | |||||||||
| sépar. | 01010 |
En ce qui concerne le code EAN, pour coder le 13ème caractère (qui sera placé devant le code proprement dit) à l'intérieur du demi-code gauche on utilise les deux parités, 3 caractères sur 6 ayant une parité paire.
Soit le code : n a b c d e f g h i j k l
les caractères a, b, c, d, e et f sont codés en fonction de n selon la parité donnée par le tableau suivant :
n |
a |
b |
c |
d |
e |
f |
0 |
I |
I |
I |
I |
I |
I |
1 |
I |
I |
P |
I |
P |
P |
2 |
I |
I |
P |
P |
I |
P |
3 |
I |
I |
P |
P |
P |
I |
4 |
I |
P |
I |
I |
P |
P |
5 |
I |
P |
P |
I |
I |
P |
6 |
I |
P |
P |
P |
I |
I |
7 |
I |
P |
I |
P |
I |
P |
8 |
I |
P |
I |
P |
P |
I |
9 |
I |
P |
P |
I |
P |
I |
I : caractère Gauche Impair
P : caractère Gauche Pair
Pour information, voici la table de signification du (des) premier(s) chiffre(s) d'un EAN :
(merci à grandzebu)
| 00 à 13 UCC (Etats-Unis et Canada) 20 à 29 Codification interne en magasin 30 à 37 GENCOD-EAN France 380 BCCI (Bulgarie) 383 SANA (Slovénie) 385 CRO-EAN (Croatie) 387 EAN-BIH (Bosnie-Herzégovine) 400 à 440 CCG (Allemagne) 45 + 49 Distribution Code Center - DCC (Japon) 460 à 469 UNISCAN - EAN Russie (Fédération de Russie) 471 CAN (Taiwan) 474 EAN Estonie 475 EAN Lettonie 476 EAN Azerbaï djan 477 EAN Lituanie 478 EAN Ouzbékistan 479 EAN Sri Lanka 480 PANC (Philippines) 481 EAN Biélorussie 482 EAN Ukraine 484 EAN Moldavie 485 EAN Arménie 486 EAN Georgie 487 EAN Kazakhstan 489 HKANA (Hong Kong) 50 E Centre UK 520 HELLCAN-EAN HELLAS (Grèce) 528 EAN Liban 529 EAN Chypre 531 EAN-MAC (FYR Macédonie) 535 EAN Malte 539 EAN Irlande 54 ICODIF/EAN Belgique. Luxembourg 560 CODIPOR (Portugal) 569 EAN Islande 57 EAN Danemark 590 EAN Pologne 594 EAN Roumanie 599 H.A.P.M.H. (Hongrie) 600 - 601 EAN Afrique du Sud 609 EAN Ile Maurice 611 EAN Maroc 613 EAN Algérie 619 Tunicode (Tunisie) 621 EAN Syrie 622 EAN Egypte 625 EAN Jordanie 626 EAN Iran |
628 EAN Arabie Saoudite 64 EAN Finlande 690 - 693 Article Numbering Centre of China - ANCC (Chine) 70 EAN Norge (Norvège) 729 Israeli Bar Code Association - EAN Israël 73 EAN Suède 740 EAN Guatemala 741 EAN El Salvador 742 ICCC (Honduras) 743 EAN Nicaragua 744 EAN Costa Rica Panama 746 746 EAN République Dominicaine 750 AMECE (Mexique) 759 EAN Venezuela 76 EAN (Schweiz, Suisse, Svizzera) 770 IAC (Colombie) 773 EAN Uruguay 775 APC - EAN Peru (Pérou) 777 EAN Bolivie 779 CODIGO - EAN Argentine 780 EAN Chili 784 EAN Paraguay 786 ECOP (Equateur) 789 EAN Brésil 80 à 83 INDICOD (Italie) 84 AECOC (Espagne) 850 Camera de Comercio de la Republica de Cuba (Cuba) 858 EAN Slovaquie 859 EAN République Tchèque 860 EAN YU (Yougoslavie) 867 EAN DPR Korea (Corée du Nord) 869 Union of Chambers of Commerce of Turkey (Turquie) 87 EAN Nederland (Hollande) 880 EAN Korea (Corée du Sud) 885 EAN Thaï lande 888 SANC (Singapour) 890 EAN Inde 893 EAN Vietnam 899 EAN Indonésie 90 - 91 EAN Autriche 93 EAN Australie 94 EAN Nouvelle Zélande 955 Malaysian Article Numbering Council (MANC) - Malaisie 977 Publications sérielles (ISSN) 978 - 979 Livres (ISBN) 980 Reçus de remboursement 981 - 982 Coupons (monnaie courante) 99 Coupons |
Exemples :
Code UPC
Code EAN (commencant par un autre chiffre)
Le même sans le texte lisible
Ces exemples sont réalisés avec le Script Php disponible sur ce site.
