Português (Brasil)

Ferramentas de texto e do dia a dia · Kit de ferramentas de QR e código de barras

Code 128 conjuntos de códigos A, B e C: por que os dígitos formam códigos de barras mais curtos

· Como funciona

codificação impressão fluxo de trabalho do desenvolvedor

Um padrão Code 128 longo e misto ao lado de um padrão numérico compacto
Ilustração vetorial original ToolAcre

Explica os três conjuntos de códigos Code 128, como o conjunto de códigos C contém dois dígitos por símbolo e por que um rótulo somente numérico pode ser visivelmente mais estreito do que um misto.

O código de barras que não caberia na etiqueta — como a escolha do caractere, e não apenas o tamanho da fonte, controla a largura de um símbolo Code 128

A largura de Code 128 é controlada pela sequência de símbolos emitida, não pela redução da fonte da legenda. Os testes de ToolAcre mostram que uma série de dígitos é codificada de forma mais compacta do que uma série de letras de tamanho semelhante porque o codificador automático pode usar dígitos emparelhados.

Um designer de rótulo pode medir a consequência diretamente porque `generateCode128` retorna `moduleCount` com o padrão binário. Duas cadeias de caracteres de igual comprimento podem ter contagens de módulos diferentes quando uma permite dígitos emparelhados e a outra requer caracteres individuais ou alterações de conjunto. A largura exportada também inclui zonas silenciosas fixas, portanto, comprimir a legenda ou alterar sua fonte não reduz as próprias barras.

Conjuntos de códigos A, B e C em uma tabela – caracteres de controle e maiúsculas, maiúsculas e minúsculas e pares de dígitos

Os três conjuntos de códigos cobrem diferentes partes do repertório Code 128: A é útil para letras maiúsculas e controles, B cobre texto misto imprimível e C representa pares de dígitos decimais. ToolAcre não solicita que os usuários selecionem um conjunto manualmente.

ToolAcre oculta intencionalmente a seleção manual do conjunto porque o codificador automático tem a entrada completa e pode escolher as transições de forma consistente. Isso evita uma UI onde um usuário força o conjunto C para letras ou confunde um conjunto orientado a controle para texto comum. O limite é igualmente importante: a seleção automática otimiza uma string ASCII válida, mas não translitera letras acentuadas nem estende Code 128 além dos pontos de código zero até 127.

Por que o conjunto de códigos C reduz pela metade a largura das execuções de dígitos - um símbolo para cada dois dígitos e o que acontece com uma contagem de dígitos ímpar

O conjunto C transforma cada par completo de dígitos em um símbolo de dados, de modo que execuções numéricas longas e pares precisam de menos símbolos. Com uma contagem ímpar, o codificador deve deixar ou atrasar o conjunto C para o dígito não correspondido, tornando o resultado exato dependente da segmentação automática.

Uma execução estranha demonstra o limite do atalho “dois dígitos por símbolo”. Em `12345`, o dígito final não pode formar um par set-C, então o codificador deve considerá-lo por meio de outra estratégia e qualquer sobrecarga de transição. Prefixar a execução com `A` adiciona outro caractere não emparelhado. Gere ambos os valores em vez de estimar a largura de seis caracteres exibidos, porque as decisões de segmentação são representadas nos módulos emitidos, não na legenda.

Troca de código de barras intermediário - como os caracteres de mudança e mudança de código permitem que um código de barras misture conjuntos, ao custo de símbolos extras

Um identificador misto pode alternar entre conjuntos quando os símbolos salvos superam a sobrecarga de comutação. O codificador CODE128_AUTO toma essa decisão; o aplicativo verifica a saída em vez de prometer que cada par de dígitos isolado aciona uma transição específica.

Os símbolos de switch consomem espaço, o que significa que uma pequena ilha numérica dentro das letras pode não valer a pena entrar no conjunto C. CODE128_AUTO decide a partir de toda a string, não de uma regra que cada dois dígitos aciona uma switch. Isso também explica por que a inserção de pontuação em uma série pode ampliá-la em mais de um símbolo de dados: pode dividir uma execução útil e causar transições em torno da interrupção.

Módulos de contagem — onze módulos por símbolo, treze para o padrão de parada, além de zonas silenciosas, para prever a largura impressa

Os símbolos Code 128 comuns ocupam onze módulos, enquanto o padrão de parada é mais longo, e o renderizador adiciona dez zonas silenciosas de barra estreita em ambos os lados. A contagem dos módulos emitidos prevê a largura de forma mais confiável do que a contagem dos caracteres de entrada visíveis.

O renderizador transforma cada módulo binário em um múltiplo fixo de pixels e adiciona dez zonas silenciosas de módulo estreito em ambos os lados. Sua sequência de parada é de treze módulos, enquanto os símbolos comuns começam em grupos de onze módulos. Esses fatos de implementação permitem que um layout use a contagem de módulos retornada para calcular uma largura de pixel candidata; eles não garantem que uma impressão física será digitalizada em um dispositivo específico.

Exemplo resolvido - a mesma série de doze caracteres apenas como dígitos, depois com um prefixo de letra, comparando contagens e larguras de símbolos

Compare 123456789012 com A12345678901 no gerador. A entrada de todos os dígitos fornece ao codificador uma série contínua de pares, enquanto o prefixo força uma sequência mista; Os testes de ToolAcre usam esse mesmo princípio para verificar se os dados de dígitos são mais restritos.

Use um par controlado como `123456789012` e `A12345678901`, mantenha as mesmas configurações de exportação e compare ambas as larguras de SVG viewBox. O segundo valor pode precisar de um conjunto inicial diferente e de uma codificação mista, embora ambos contenham doze caracteres. Esta é uma prova de design melhor do que substituir um módulo de tamanho menor, o que preserva a contagem, mas torna cada barra mais difícil de ser resolvida pela impressora e pelo leitor.

O que isso não cobre: ​​resolução da impressora, qualidade da fita e regras GS1 para códigos de barras de varejo

Essa comparação não diz nada sobre a qualidade da fita, os pontos da impressora ou as regras de etiqueta GS1. Também não transforma ToolAcre em um serviço de código de barras de varejo: a simbologia configurada e implementada é simples Code 128 para identificadores que você controla.

Os pontos da impressora, a dispersão da tinta e a transferência da fita ocorrem depois que ToolAcre produz a geometria exata. GS1 regras acontecem antes dele, definindo os dados e controles a serem codificados. Nenhum dos problemas é resolvido pela escolha automática do conjunto de códigos. Um SVG tecnicamente compacto ainda pode ser uma simbologia errada, uma impressão mal resolvida ou um identificador que o banco de dados receptor nunca registrou.

Conclusão: crie etiquetas com dígitos onde você puder e, em seguida, gere o código de barras no QR & Barcode Toolkit para verificar sua largura

Projete identificadores internos com dígitos úteis quando a compactação for importante, mas mantenha-os compreensíveis para as pessoas que devem digitá-los. Gere o padrão final antes de definir o layout da etiqueta, pois a contagem real de módulos é a largura que importa.

A compacidade deverá permanecer subordinada a operações estáveis. Uma chave numérica mais curta pode salvar módulos, mas uma sequência opaca pode aumentar os erros de transcrição quando um rótulo danificado deve ser inserido manualmente. Escolha um esquema que a equipe e o software possam usar, gere extremos representativos antes de corrigir o modelo de etiqueta e preserve as zonas silenciosas em vez de recuperar seu espaço em branco para texto próximo.