Outil pour décoder le code-barres 39. Le Code 39 (ou Code 3 sur 9, ou Alpha39) est une norme de code-barres qui est progressivement remplacée par le Code 128.
Code Barres 39 - dCode
Catégorie(s) : Codage de Caractères, Traitement d'Image
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Le chiffrement utilise une table de codage avec 43 caractères : les 26 lettres majuscules, les 10 chiffres et quelques caractères spéciaux (-, ., $, /, +, % et ' ' (espace). Le caractère * peut apparaitre mais il n'existe pas, il est simplement utilisé comme caractère de début et de fin.
Chaque caractère comprend 5 barres noires et 4 barres blanches (soit 9 éléments en tout) en commencant par noir et en alternant blanc et noir. Chaque bande peut avoir 2 largeurs : fine ou large (généralement 3 fois plus large), ainsi il est donc possible de binariser le code (| pour les bandes fines, et ▮ pour les bandes larges). Or, dans ces 9 éléments il y en a systématiquement 3 bandes sont plus larges, d'ou le nom du code 39.
Un code-barre 39 commence par * et se termine par *. Voici la table de correspondance des caractères :
0 | |||▮▮|▮|| | 1 | ▮||▮||||▮ |
2 | ||▮▮||||▮ | 3 | ▮|▮▮||||| |
4 | |||▮▮|||▮ | 5 | ▮||▮▮|||| |
6 | ||▮▮▮|||| | 7 | |||▮||▮|▮ |
8 | ▮||▮||▮|| | 9 | ||▮▮||▮|| |
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 | |▮▮|▮|||| |
- | |▮||||▮|▮ | . | ▮▮||||▮|| |
|▮▮|||▮|| | $ | |▮|▮|▮||| | |
/ | |▮|▮|||▮| | + | |▮|||▮|▮| |
% | |||▮|▮|▮| | * | |▮||▮|▮|| |
Une bande large est 3 fois plus épaisse qu'une bande fine.
Exemple : Une bande fine noire serait codée 1 et une bande noire large sera codée 111.
Exemple : *A* se code |▮||▮|▮||▮||||▮||▮ |▮||▮|▮|| soit en binaire 1 000 1 0 111 0 111 0 1 0 111 0 1 0 1 000 1 0 111 0 1 000 1 0 111 0 111 0 1 0
Le déchiffrement nécessite de réaliser une lecture des barres et d'utiliser la table de codage du code 39.
De nombreux logiciels pour smartphone ou des douchettes laser peuvent faciliter ce travail.
Exemple : Le message est |▮||▮|▮|| ||||▮▮||▮ ▮|▮||▮||| ▮|||▮||▮| ||||▮▮||▮ ▮|||▮▮||| |▮||▮|▮|| (alternance de bandes noires et blanches), repérer |▮||▮|▮|| au début et à la fin ce qui indique bien le code 39. Puis remplacer chaque groupe de 9 barres par leur correspondant dans la table. Le message clair est DCODE.
La somme de controle est manquante dans cet exemple
Associer à chaque caractère la valeur de sa position dans l'alphabet de 43 caractères 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%* (en partant de 0)
Faire la somme de ces valeurs et calculer le résultat modulo 43. Le caractère de controle est celui en position (somme%43) dans l'alphabet.
Le code barre a une forme graphique classique (des traits noirs et blancs) ou bien un équivalent binaire (des 1 ou N pour des noirs et des 0 ou B pour des traits blancs).
Le code-barre peut avoir une longueur variable. Il commence et se termine par le caractère *.
Le code-barres a est constitué de traits par groupes de 9 dont 3 sont plus larges, d'où le nom 3 sur 9 ou 39.
dCode se réserve la propriété du code source pour "Code Barres 39". Tout algorithme pour "Code Barres 39", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Code Barres 39" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Code Barres 39" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Code Barres 39" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source.
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Code Barres 39 sur dCode.fr [site web en ligne], consulté le 16/04/2025,