Español

Texto y herramientas cotidianas · QR y kit de herramientas de códigos de barras

Code 128 conjuntos de códigos A, B y C: por qué los dígitos forman códigos de barras más cortos

· Cómo funciona

codificación impresión flujo de trabajo del desarrollador

Un patrón Code 128 largo y mixto junto a un patrón numérico compacto
Ilustración de vector original de ToolAcre

Explica los tres conjuntos de códigos Code 128, cómo el conjunto de códigos C incluye dos dígitos por símbolo y por qué una etiqueta solo numérica puede resultar notablemente más estrecha que una mixta.

El código de barras que no encajaría en la etiqueta: cómo la elección de caracteres, no solo el tamaño de fuente, controla el ancho de un símbolo Code 128

Code 128 el ancho se controla mediante la secuencia de símbolos emitidos, no reduciendo la fuente de un título. Las pruebas de ToolAcre muestran que una serie de dígitos se codifica de forma más compacta que una serie de letras de tamaño similar porque el codificador automático puede utilizar dígitos emparejados.

Un diseñador de etiquetas puede medir la consecuencia directamente porque `generateCode128` devuelve `moduleCount` con el patrón binario. Dos cadenas de igual longitud de caracteres pueden tener diferentes recuentos de módulos cuando una permite pares de dígitos y la otra requiere caracteres individuales o cambios de conjunto. El ancho exportado también incluye zonas silenciosas fijas, por lo que apretar el título o cambiar su fuente no reduce las barras en sí.

Conjuntos de códigos A, B y C en una tabla: caracteres de control y mayúsculas, mayúsculas y minúsculas y pares de dígitos

Los tres conjuntos de códigos cubren diferentes partes del repertorio Code 128: A es útil para mayúsculas y controles, B cubre texto imprimible en mayúsculas y minúsculas y C representa pares de dígitos decimales. ToolAcre no pide a los usuarios que seleccionen un conjunto manualmente.

ToolAcre oculta intencionalmente la selección de conjunto manual porque el codificador automático tiene la entrada completa y puede elegir transiciones de manera consistente. Eso evita una interfaz de usuario en la que un usuario fuerza el conjunto C para letras o confunde un conjunto orientado al control con texto normal. El límite es igualmente importante: la selección automática optimiza una cadena ASCII válida, pero no translitera letras acentuadas ni extiende Code 128 más allá de los puntos de código cero a 127.

Por qué el conjunto de códigos C reduce a la mitad el ancho de las series de dígitos: un símbolo por cada dos dígitos y qué sucede con un recuento de dígitos impares

El conjunto C convierte cada par completo de dígitos en un símbolo de datos, por lo que las ejecuciones numéricas largas y de longitud uniforme necesitan menos símbolos. Con un recuento impar, el codificador debe dejar o retrasar el ajuste C para el dígito no coincidente, lo que hace que el resultado exacto dependa de la segmentación automática.

Una ejecución impar demuestra el límite del atajo de “dos dígitos por símbolo”. En `12345`, el dígito final no puede formar un par conjunto C, por lo que el codificador debe tenerlo en cuenta mediante otra estrategia y cualquier sobrecarga de transición. Prefijar la ejecución con `A` agrega otro carácter no emparejado. Genere ambos valores en lugar de estimar el ancho a partir de seis caracteres mostrados, porque las decisiones de segmentación se representan en los módulos emitidos, no en el título.

Cambio a mitad del código de barras: cómo los caracteres de desplazamiento y cambio de código permiten que un código de barras mezcle conjuntos, a costa de símbolos adicionales

Un identificador mixto puede cambiar entre conjuntos cuando los símbolos guardados superan la sobrecarga del cambio. El codificador CODE128_AUTO toma esa decisión; la aplicación verifica la salida en lugar de prometer que cada par de dígitos aislado desencadena una transición particular.

Los símbolos de cambio consumen espacio, lo que significa que puede que no valga la pena ingresar una pequeña isla numérica dentro de las letras en el conjunto C. CODE128_AUTO decide a partir de toda la cadena, no de una regla que cada dos dígitos activa un cambio. Esto también explica por qué insertar puntuación en una serie puede ampliarla en más de un símbolo de datos: puede dividir una ejecución útil y provocar transiciones alrededor de la interrupción.

Módulos de conteo: once módulos por símbolo, trece para el patrón de parada, además de zonas silenciosas, para predecir el ancho impreso Los símbolos

ordinarios Code 128 ocupan once módulos, mientras que el patrón de parada es más largo y el renderizador agrega diez zonas silenciosas de barras estrechas en ambos lados. Contar los módulos emitidos predice el ancho de manera más confiable que contar los caracteres de entrada visibles.

El renderizador convierte cada módulo binario en un múltiplo fijo de píxeles y agrega diez zonas silenciosas de módulo estrecho en ambos lados. Su secuencia de parada es de trece módulos, mientras que los símbolos ordinarios comienzan en grupos de once módulos. Estos hechos de implementación permiten que un diseño utilice el recuento de módulos devueltos para calcular un ancho de píxel candidato; no garantizan que una impresión física se escanee en un dispositivo en particular.

Ejemplo resuelto: la misma serie de doce caracteres solo como dígitos, luego con un prefijo de letra, comparando recuentos y anchos de símbolos

Compare 123456789012 con A12345678901 en el generador. La entrada de todos los dígitos le da al codificador una serie continua de pares, mientras que el prefijo fuerza una secuencia mixta; Las pruebas de ToolAcre utilizan este mismo principio para verificar que los datos de los dígitos sean más limitados.

Utilice un par controlado como `123456789012` y `A12345678901`, conserve la misma configuración de exportación y compare ambos anchos de viewBox SVG. Es posible que el segundo valor necesite un conjunto de inicio diferente y una codificación mixta, aunque ambos contengan doce caracteres. Esta es una mejor prueba de diseño que sustituir un módulo de menor tamaño, lo que preserva el recuento pero hace que cada barra sea más difícil de resolver para la impresora y el lector.

Lo que esto no cubre: resolución de la impresora, calidad de la cinta y las reglas GS1 para códigos de barras minoristas

Esa comparación no dice nada sobre la calidad de la cinta, los puntos de la impresora o las reglas de las etiquetas GS1. Tampoco convierte a ToolAcre en un servicio de códigos de barras minorista: la simbología configurada e implementada es simple Code 128 para los identificadores que usted controla.

Los puntos de impresión, la dispersión de tinta y la transferencia de cinta ocurren después de que ToolAcre haya producido la geometría exacta. Las reglas GS1 ocurren antes que él, definiendo los datos y controles a codificar. Ninguno de los problemas se resuelve mediante la elección automática del conjunto de códigos. Un SVG técnicamente compacto aún puede tener una simbología incorrecta, una impresión poco resuelta o un identificador que la base de datos receptora nunca registró.

La conclusión: diseñe etiquetas con dígitos siempre que pueda, luego genere el código de barras en QR & Barcode Toolkit para verificar su ancho.

Diseñe identificadores internos con dígitos útiles cuando la compacidad sea importante, pero manténgalos comprensibles para las personas que deben escribirlos. Genere el patrón final antes de diseñar la etiqueta, porque lo que importa es el número real de módulos.

La compacidad debe permanecer subordinada a las operaciones estables. Una clave numérica más corta puede guardar módulos, pero una secuencia opaca puede aumentar los errores de transcripción cuando una etiqueta dañada debe ingresarse manualmente. Elija un esquema que el personal y el software puedan utilizar, genere extremos representativos antes de corregir la plantilla de etiqueta y conserve las zonas silenciosas en lugar de recuperar su espacio en blanco para el texto cercano.