Cree un payload Code 128 y calcule su checksum
Compruebe que un valor cabe en Code 128 juego B y obtenga los valores de símbolo que necesita la impresora: KIT-128 parte del valor de inicio 104 y su suma de control vale 77. Los caracteres no admitidos se señalan con su posición. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- KIT-128
- Carga útil
- KIT-128
- Conjunto de códigos
- B
- Valor del símbolo de inicio
- 104
- Valor del símbolo de verificación
- 77
Resulta útil para software de etiquetas, integraciones con impresoras, pruebas y diagnóstico, pues cualquier carácter incompatible produce un error preciso.
Sepa exactamente qué caracteres se admiten
Code 128 es una familia de codificaciones compactas, no una representación directa de cualquier texto Unicode. Esta herramienta utiliza de forma deliberada el conjunto B, adecuado para identificadores habituales con letras, dígitos, signos y espacios. Admite ASCII imprimible desde U+0020, el espacio, hasta U+007E, la virgulilla.
Ese intervalo incluye mayúsculas, minúsculas inglesas, cifras decimales y puntuación común. Rechaza tabulaciones, saltos de línea, códigos de control, letras acentuadas, emoji y cualquier carácter externo al intervalo. La restricción es explícita porque sustituir o eliminar caracteres silenciosamente modificaría el identificador y podría vincular una etiqueta al registro equivocado.
Si la validación falla, el error señala el índice basado en cero y el punto de código Unicode, de modo que usted puede localizar el valor que debe corregir. El texto vacío también falla y la longitud máxima declarada limita la ejecución. Para caracteres de control, símbolos FNC o los conjuntos A y C, utilice un codificador con ese contrato ampliado.
Cómo se calculan los símbolos y el checksum
En el conjunto B, cada carácter admitido se convierte en un símbolo restando 32 a su código ASCII. Así, el espacio vale cero, el dígito cero vale 16, la A mayúscula vale 33 y la virgulilla vale 94. El cálculo comienza con ese valor y suma cada símbolo de datos multiplicado por su posición, empezando en uno.
El primer símbolo tiene peso uno, el segundo peso dos y así sucesivamente. El renderizador coloca ese símbolo después de los datos y antes del patrón de parada; no es una cifra decimal que deba añadirse al texto. Los valores intermedios permiten auditar cada término.
Como solo se usa aritmética entera, una entrada siempre genera el mismo resultado.
Use el resultado con seguridad en etiquetas
La respuesta está pensada para software capaz de convertir símbolos Code 128 en barras, órdenes de impresora o aserciones de prueba. La herramienta no dibuja SVG o PNG, no elige dimensiones, no añade zonas de silencio ni comprueba la lectura de una impresión física; esas tareas corresponden al renderizado y al control de calidad. Tampoco incluye el patrón de parada en el array porque es estructural y no interviene en el checksum.
En un proceso automático, valide antes de enviar órdenes a la impresora y conserve la respuesta junto al artefacto. En pruebas, compare tanto los valores ordenados como el checksum. Sin red, almacenamiento, azar ni hora actual, la salida es estable en todos los entornos.
Qué puede hacer con ella
Prepare órdenes para impresoras
Valide un identificador de almacén y obtenga los valores exactos del conjunto B antes de componer una orden específica de impresora.
Diagnostique identificadores rechazados
Localice un control, una letra acentuada u otro punto de código incompatible antes de que alcance el flujo de etiquetado.
Preguntas frecuentes
¿Qué caracteres se admiten?
ASCII imprimible desde el espacio (U+0020) hasta la virgulilla (U+007E), el repertorio empleado aquí para el conjunto B de Code 128.
¿Genera una imagen del código de barras?
Las barras, zonas de silencio, dimensiones y formatos corresponden a un renderizador.
¿Cómo se calcula la suma de control de Code 128?
Se parte de 104, el valor de inicio del juego B, y se suma cada símbolo de datos multiplicado por su posición, contando desde uno. El total se divide entre 103 y se toma el resto: para KIT-128 ese resto, la suma de control, es 77.
¿Debo añadir la suma de control al final de mi texto?
No. La suma de control es un valor de símbolo que el generador del código coloca después de los datos y antes del patrón de parada. No es una cifra que haya que escribir detrás del texto original, que queda tal como usted lo introdujo.
¿Qué pasa si mi texto lleva una tilde o un salto de línea?
Se rechaza con un aviso preciso que indica la posición del carácter, contando desde cero, y su punto de código Unicode. No se elimina ni se sustituye nada, porque cambiar un identificador podría poner una etiqueta en el registro equivocado.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"text": "KIT-128"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.barcode_code128_payload",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 4096 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Este generador de payload Code 128 valida el texto antes de que llegue al renderizador, convierte cada carácter compatible en su valor de símbolo del conjunto B y calcula el checksum módulo 103 obligatorio. El resultado incluye el payload sin cambios, el símbolo de inicio, los símbolos de datos ordenados y el valor del checksum.
Cómo se calculan los símbolos y el checksum
El array data_symbol_values conserva el orden y no incluye ni el inicio ni el checksum, por lo que separa claramente los datos de los símbolos estructurales. start_symbol_value es 104, el valor estándar de inicio B. El resto de dividir la suma entre 103 se devuelve como checksum_symbol_value.
Use el resultado con seguridad en etiquetas
Un renderizador puede emitir el símbolo inicial, los valores de data_symbol_values, checksum_symbol_value y, finalmente, el patrón de parada obligatorio. El campo payload se devuelve intacto para relacionar el cálculo con la fuente exacta. El navegador permite una comprobación inmediata y la API cuesta $0.002 por solicitud cuando necesita automatización.
Casos de integración
Cree pruebas de regresión
Genere arrays de símbolos y checksums auditables para contrastar un renderizador Code 128 independiente con valores deterministas.
Preguntas técnicas
¿Debo añadir el número del checksum al texto?
No. Es un valor de símbolo Code 128 destinado al renderizador, no texto que deba anexarse al payload original.
¿Qué ocurre con un emoji o un salto de línea?
La solicitud falla con invalid_input e identifica el primer carácter incompatible mediante su índice basado en cero y su punto de código Unicode.
¿Cuánto cuesta usar la API?
Cada solicitud de API cuesta $0.002. El mismo cálculo determinista también puede ejecutarse gratis en el navegador.