Rapport sur les codes barres
Devoir 1 : Décodage de Codes Barres
I / Présentation du Sujet
Un code barre représente une donnée numérique ou alphanumérique sous forme d'un symbole constitué de barres et d'espaces, les barres étant des 1 et les espaces des 0.
Nous allons écrire un programme qui interprète cette suite de bits sous forme d'un code EAN-13 (code utilisé dans le monde entier sur l'ensemble des produits de grande consommation) à 13 chiffres. Le programme ira ensuite chercher sur internet le produit correspondant à ce code EAN-13. Les 13 chiffres à trouver découpent la suite de bits comme suit : – – – – – – – les 3 premiers bits : 101 code le Début (non représentés dans le code final) 2 x 7 bits codant le pays de provenance du produit (cf description plus bas) 5 x 7 bits codant le fabriquant 5 bits codant le Séparateur central : 01010 (non représentés dans le code final) 5 x 7 bits codant l'article 7 bits de vérification déterminant la validité du code (cf algorithme plus bas) les 3 derniers bits : 101 code la Fin (non représentés dans le code final)
Trois jeux différents sont utilisés selon la position du chiffre dans le code. Les jeux A et B sont utilisés uniquement dans la partie gauche du séparateur tandis que le jeu C est utilisé uniquement dans la partie droite du séparateur. Pour trouver le codage du pays il faut regarder avec quel Jeu ont été codés les 5 chiffres codant le fabriquant. Cela donne une suite de 5 lettres (A ou B) codant pour un chiffre qui est le code du pays. Le code de vérification suit un algorithme simple : Il suffit d'additionner les chiffres trouvés en utilisant la propriété suivante : - les chiffres de rang pair sont multipliés par 1. - les chiffres de rang impair sont multipliés par 3. Si la somme trouvé est un multiple de 10 alors le code est valide ! Les tableaux utilisés sont consultables ici : http://www.gomaro.ch/Specifications/EAN13.htm Le tableau de correspondance des pays : http://www.gomaro.ch/prefixes.htm
Voici