|


| |
Le Code 128:
|
|
 |
|
Imprimer un Code 128 online :
|
|
Applications :
|
Calcul du checkdigit:
 |
Le calcul du checkdigit peut se révéler un peu ardu. |
Chaque caractère composant un code
128 a une valeur numérique de 0 à 102. (Voir la table de composition du Code 128)
Dans les Subset A et B, la valeur numérique d'un
caractère est celle de son code ASCII moins 32.
Ainsi donc, un espace (ASCII 32) a la
valeur 0 (zéro), le point d'exclamation (ASCII 33) a la valeur 1, etc.
Le Subset A permet l'impression des caractères de contrôle dont le code
ASCII est entre 0 et 31.
Pour ces caractères on ajoute 64 à son code ASCII pour obtenir sa valeur numérique.
Par exemple:
- la valeur de NUL (ASCII 0) est 64,
- SOH (ASCII 1) est 65,
- STX (ASCII 2) est 66 etc.
Le Subset C permet l'impression des chiffres par paire, pour le checksum on utilise la valeur numérique de celle-ci
(00, 01, 02,...45,...99)
 |
Pour calculer le Checkdigit, suivre ces étapes: |
- Initialiser le variable checkdigit avec la valeur du caractère
"Start" (103, 104 ou 105 pour les Subset A, B ou C respectivement)
- Initialiser un "multiplicateur" à la valeur 1.
- En commençant par la gauche du code, ajouter la valeur
numérique de chaque caractère multipliée par le "multiplicateur" au
checkdigit.
Incrémenter le "multiplicateur" après chaque caractère.
- Diviser le résultat par 103. Le reste de la division est le checkdigit.
- Convertir le Checkdigit numérique en caractère ASCII.
 |
Le détail de la conversion du Checkdigit numérique en caractère ASCII varie en fonction
du Subset utilisé.
Une manipulation particulière est requise dans les cas où le code ASCII du caractère
résultant est égal à zéro ou est supérieur à 95. |
De manière générale:
 |
En Subset A:
1° Si le Checkdigit est compris entre 0 et 63 (inclus): |
ajouter 32 (code ASCII de l'espace) au Checksum pour obtenir le caractère qui représentera le
Checkdigit.
2° Si le Checkdigit est égal à 64 ou supérieur:
soustraire 64 pour obtenir le caractère.
 |
En Subset B:
ajouter 32 au Checkdigit pour obtenir le caractère.
|
 |
En Subset C:
le Checkdigit est la valeur du caractère. |
|
|
|