Crie um payload Code 128 e calcule o checksum
Confira se um valor cabe no Code 128 conjunto B e receba os valores de símbolo que a impressora precisa: KIT-128 parte do valor inicial 104 e tem checksum 77. Qualquer caractere não aceito é apontado pela posição. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- KIT-128
- Carga útil
- KIT-128
- Conjunto de códigos
- B
- Valor do símbolo inicial
- 104
- Valor do símbolo de verificação
- 77
Saiba exatamente quais textos são aceitos
Code 128 é uma família de codificações compactas, e não uma imagem direta de qualquer texto Unicode. Esta ferramenta usa deliberadamente o conjunto B, adequado para identificadores comuns com letras, números, pontuação e espaços. Ela aceita ASCII imprimível de U+0020, o espaço, até U+007E, o til.
Esse intervalo abrange letras inglesas maiúsculas e minúsculas, algarismos decimais e sinais usuais. Tabulações, quebras de linha, códigos de controle, letras acentuadas, emojis e caracteres fora do intervalo são recusados. A regra é explícita porque substituir ou remover um caractere sem aviso alteraria o identificador e poderia ligar uma etiqueta ao registro errado.
Quando a validação falha, o erro informa o índice iniciado em zero e o ponto de código Unicode, para que você encontre a origem exata. Texto vazio também é inválido, e o limite de comprimento mantém a execução controlada. Caso sejam necessários controles, símbolos FNC ou os conjuntos A e C, use um codificador com um contrato mais amplo.
Entenda o cálculo dos símbolos e do checksum
No conjunto B, cada caractere aceito vira um símbolo após a subtração de 32 do código ASCII. O espaço vale zero, o algarismo zero vale 16, a letra A maiúscula vale 33 e o til vale 94. O cálculo parte desse valor e soma cada símbolo de dados multiplicado por sua posição, contada a partir de um.
O primeiro tem peso um, o segundo peso dois e assim por diante. Esse é o símbolo inserido pelo renderizador depois dos dados e antes do padrão de parada; não é um número decimal para acrescentar ao texto. Os valores intermediários permitem conferir todos os termos, e o uso exclusivo de inteiros garante o mesmo resultado para a mesma entrada.
Use a resposta com segurança em etiquetas
A saída atende sistemas que já convertem símbolos Code 128 em barras, comandos de impressora ou verificações de teste. A ferramenta não desenha SVG ou PNG, não escolhe dimensões, não adiciona zonas de silêncio e não testa a leitura da impressão física; essas tarefas pertencem à renderização e ao controle de qualidade. O padrão de parada também não aparece no array, pois é estrutural e não participa do checksum.
Em automações, valide antes de enviar comandos à impressora e guarde a resposta junto ao arquivo produzido. Em testes, compare os valores ordenados e o checksum. Sem rede, armazenamento, aleatoriedade ou relógio, o resultado permanece estável entre ambientes.
Casos de uso
Prepare comandos de impressora
Valide um identificador de estoque e obtenha os valores exatos do conjunto B antes de montar um comando específico da impressora.
Diagnostique códigos recusados
Encontre um controle, uma letra acentuada ou outro ponto incompatível antes que ele chegue ao fluxo de etiquetagem.
Perguntas frequentes
Quais caracteres são aceitos?
ASCII imprimível do espaço (U+0020) ao til (U+007E), que é o repertório utilizado aqui para o conjunto B do Code 128.
A ferramenta gera a imagem do código de barras?
Barras, zonas de silêncio, dimensões e formatos ficam a cargo de um renderizador.
Como se calcula o checksum do Code 128?
Parte-se de 104, o valor inicial do conjunto B, e soma-se cada símbolo de dados multiplicado pela sua posição, contando a partir de um. O total é dividido por 103 e fica o resto: para KIT-128 esse resto, o checksum, é 77.
Devo acrescentar o checksum no fim do meu texto?
Não. O checksum é um valor de símbolo que o gerador do código coloca depois dos dados e antes do padrão de parada. Não é um dígito para digitar no fim do texto original, que fica exatamente como você o informou.
O que acontece se o texto tiver acento ou quebra de linha?
Ele é recusado com um aviso preciso que mostra a posição do caractere, contando a partir de zero, e o seu ponto de código Unicode. Nada é removido ou trocado, porque mudar um identificador poderia colocar uma etiqueta no registro errado.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"text": "KIT-128"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.barcode_code128_payload",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chars | 4096 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Este gerador de payload Code 128 valida o texto antes da renderização, converte cada caractere aceito no valor correspondente do conjunto B e calcula o checksum obrigatório em módulo 103. A resposta traz o payload inalterado, o símbolo inicial, os símbolos de dados na ordem correta e o valor do checksum. Assim, você pode integrar impressoras, criar testes e diagnosticar etiquetas, recebendo um erro preciso sempre que houver um caractere incompatível.
Entenda o cálculo dos símbolos e do checksum
O array data_symbol_values mantém essa ordem e não inclui o início nem o checksum, separando os dados dos elementos estruturais. start_symbol_value é 104, o valor padrão para iniciar o conjunto B. O restante da divisão da soma por 103 aparece em checksum_symbol_value.
Use a resposta com segurança em etiquetas
O renderizador pode emitir o símbolo inicial, cada item de data_symbol_values, checksum_symbol_value e o padrão de parada obrigatório. O campo payload permanece intacto para associar o cálculo à origem exata. O navegador serve para uma consulta imediata, enquanto a API custa US$ 0,002 por solicitação em integrações repetíveis.
Casos de integração
Monte testes de regressão
Gere arrays de símbolos e checksums auditáveis para comparar um renderizador Code 128 independente com valores determinísticos.
Perguntas técnicas
Devo anexar o checksum ao texto?
Não. Ele é um valor de símbolo Code 128 usado pelo renderizador, e não um texto a ser acrescentado ao payload original.
O que acontece com emoji ou quebra de linha?
A solicitação falha com invalid_input e aponta o primeiro caractere incompatível pelo índice iniciado em zero e pelo ponto de código Unicode.
Quanto custa executar pela API?
Cada solicitação de API custa US$ 0,002. O mesmo cálculo determinístico também pode ser feito gratuitamente no navegador.