Créez un payload Code 128 et calculez son checksum
Vérifiez qu'une valeur tient dans le Code 128 jeu B et obtenez les valeurs de symbole utiles à l'imprimante : KIT-128 part de la valeur de départ 104 et sa somme de contrôle vaut 77. Tout caractère refusé est signalé par sa position. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- KIT-128
- Charge utile
- KIT-128
- Jeu de codes
- B
- Valeur du symbole de départ
- 104
- Valeur du symbole de contrôle
- 77
Elle convient aux logiciels d’étiquetage, aux imprimantes, aux tests et au diagnostic, tout caractère incompatible produisant une erreur précise.
Identifiez précisément les textes acceptés
Code 128 est une famille de codages compacts, et non la représentation directe de tout texte Unicode. Cet outil emploie volontairement le jeu B, adapté aux identifiants composés de lettres, chiffres, signes et espaces. Il accepte l’ASCII imprimable de U+0020, l’espace, à U+007E, le tilde.
Cette plage comprend les lettres anglaises majuscules et minuscules, les chiffres décimaux et la ponctuation courante. Les tabulations, sauts de ligne, codes de contrôle, lettres accentuées, emoji et autres caractères sont refusés. Cette règle explicite évite qu’une substitution silencieuse modifie un identifiant et associe une étiquette au mauvais enregistrement.
En cas d’échec, l’erreur indique l’indice à partir de zéro et le point de code Unicode afin que vous retrouviez la valeur concernée. Une chaîne vide est également refusée et la longueur maximale borne l’exécution. Pour des contrôles, des symboles FNC ou les jeux A et C, choisissez un encodeur dont le contrat couvre ces fonctions.
Comprenez le calcul des symboles et du checksum
Dans le jeu B, chaque caractère admis devient une valeur de données après soustraction de 32 à son code ASCII. L’espace vaut zéro, le chiffre zéro vaut 16, la lettre A majuscule vaut 33 et le tilde vaut 94. Le calcul commence par 104, puis ajoute chaque symbole multiplié par sa position comptée à partir de un.
Le premier a le poids un, le deuxième le poids deux, et ainsi de suite. Le moteur de rendu place ce symbole après les données et avant le motif d’arrêt ; ce n’est pas un nombre décimal à joindre au texte. Les valeurs intermédiaires rendent chaque terme vérifiable.
L’algorithme n’utilisant que des entiers, une même entrée produit toujours une réponse identique.
Intégrez correctement le résultat à vos étiquettes
La réponse vise les logiciels sachant déjà transformer des symboles Code 128 en barres, commandes d’imprimante ou assertions de test. Cet outil ne dessine ni SVG ni PNG, ne choisit pas les dimensions, n’ajoute pas les zones de silence et ne contrôle pas la lisibilité d’une impression physique ; ces opérations relèvent du rendu et de la qualité d’impression. Le motif d’arrêt ne figure pas dans le tableau car il est structurel et ne participe pas au checksum.
Dans une chaîne automatisée, validez avant d’envoyer les commandes à l’imprimante et conservez la réponse avec l’artefact. Dans vos tests, comparez les valeurs ordonnées et le checksum. Sans réseau, stockage, hasard ni horloge, le résultat reste stable.
Cas d’usage
Préparer des commandes d’impression
Validez un identifiant logistique et obtenez les valeurs exactes du jeu B avant de composer une commande propre à l’imprimante.
Créer des tests de non-régression
Produisez des tableaux de symboles et des checksums auditables pour comparer un moteur Code 128 indépendant à des valeurs déterministes.
Diagnostiquer les identifiants refusés
Repérez un contrôle, une lettre accentuée ou un autre point incompatible avant son arrivée dans la chaîne d’étiquetage.
Questions fréquentes
Quels caractères sont admis ?
L’ASCII imprimable, de l’espace (U+0020) au tilde (U+007E), soit le répertoire retenu ici pour le jeu B de Code 128.
Cet outil génère-t-il une image ?
Les barres, marges, dimensions et formats relèvent d’un moteur de rendu.
Comment se calcule la somme de contrôle du Code 128 ?
On part de 104, la valeur de départ du jeu B, puis on ajoute chaque symbole de données multiplié par sa position, en comptant à partir de un. Le total est divisé par 103 et l'on garde le reste : pour KIT-128, ce reste vaut 77.
Faut-il ajouter la somme de contrôle à la fin de mon texte ?
Non. La somme de contrôle est une valeur de symbole que le générateur place après les données et avant le motif d'arrêt. Ce n'est pas un chiffre à taper à la suite du texte d'origine, qui reste exactement tel que vous l'avez saisi.
Que se passe-t-il si mon texte contient un accent ou un retour à la ligne ?
Il est refusé avec un message précis qui donne la position du caractère, comptée à partir de zéro, et son point de code Unicode. Rien n'est supprimé ni remplacé, car modifier un identifiant pourrait placer une étiquette sur le mauvais enregistrement.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/barcode-code128-payload \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"KIT-128"}'const res = await fetch("https://api.kit.forhosting.com/enc/barcode-code128-payload", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "KIT-128"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/barcode-code128-payload",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "KIT-128"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/barcode-code128-payload", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"KIT-128"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"KIT-128"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/barcode-code128-payload", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "KIT-128"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.barcode_code128_payload",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 4096 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Ce générateur de payload Code 128 contrôle le texte avant son rendu, convertit chaque caractère admis en valeur de symbole du jeu B et calcule le checksum modulo 103 obligatoire. La réponse contient le payload inchangé, le symbole de départ, les symboles de données ordonnés et le checksum.
Comprenez le calcul des symboles et du checksum
Le tableau data_symbol_values conserve l’ordre sans inclure le départ ni le checksum, séparant clairement données et structure. start_symbol_value vaut 104, valeur standard du départ B. Le reste modulo 103 est renvoyé dans checksum_symbol_value.
Intégrez correctement le résultat à vos étiquettes
Un moteur peut émettre le départ, les valeurs de data_symbol_values, checksum_symbol_value, puis le motif d’arrêt obligatoire. Le champ payload reste inchangé afin de relier le calcul à sa source exacte. Le navigateur permet un contrôle immédiat ; l’API coûte $0.002 par requête pour une intégration automatisée.
Questions techniques
Faut-il ajouter le checksum au texte ?
Non. Il s’agit d’une valeur de symbole Code 128 destinée au moteur de rendu, et non d’un texte à ajouter au payload.
Que se passe-t-il avec un emoji ou un saut de ligne ?
La requête échoue avec invalid_input et désigne le premier caractère incompatible par son indice et son point de code Unicode.
Quel est le tarif de l’API ?
Chaque requête API coûte $0.002. Le même calcul déterministe est également gratuit dans votre navigateur.