Código Universal de Producto
El Código Universal de Producto (UPC o código UPC) es una simbología de código de barras que se usa ampliamente en todo el mundo para rastrear artículos comerciales en las tiendas.
UPC (técnicamente se refiere a UPC-A) consta de 12 dígitos que se asignan de forma única a cada artículo comercial. Junto con el código de barras del Número de artículo internacional (EAN) relacionado, el UPC es el código de barras que se utiliza principalmente para escanear artículos comerciales en el punto de venta, según las especificaciones de la organización internacional GS1. Las estructuras de datos UPC son un componente de los Números globales de artículos comerciales (GTIN) y siguen la especificación global GS1, que se basa en estándares internacionales. Pero algunos minoristas (ropa, muebles) no usan el sistema GS1 (sino otras simbologías de códigos de barras o sistemas de números de artículos). Por otro lado, algunos minoristas utilizan la simbología de código de barras EAN/UPC, pero sin utilizar un GTIN (solo para productos vendidos en sus propias tiendas).
La investigación indica que la adopción y difusión de la UPC estimuló la innovación y contribuyó al crecimiento de las cadenas de suministro minorista internacionales.
Historia
Wallace Flint propuso un sistema de pago automatizado en 1932 utilizando tarjetas perforadas. Bernard Silver y Norman Joseph Woodland, un estudiante graduado del Instituto de Tecnología de Drexel, desarrollaron un código estilo diana y solicitaron la patente en 1949.
En la década de 1960 y principios de la de 1970, los ferrocarriles de América del Norte experimentaron con códigos de barras multicolores para rastrear vagones, pero este sistema finalmente se abandonó y se reemplazó con un sistema basado en radio llamado Identificación Automática de Equipos (AEI).
En 1973, un grupo de asociaciones comerciales de la industria de comestibles formó el Uniform Product Code Council (UPCC) que, con la ayuda de los consultores Larry Russell y Tom Wilson de McKinsey & Company, definió el formato numérico que constituyó la base del Código Uniforme de Producto. Las empresas de tecnología, incluidas Charegon, IBM, Litton-Zellweger, Pitney Bowes-Alpex, Plessey-Anker, RCA, Scanner Inc., Singer y Dymo Industries/Data General, presentaron al consejo propuestas alternativas para la representación de símbolos. El Comité de Selección de Símbolos finalmente optó por implementar la propuesta de IBM diseñada por George J. Laurer, pero con una ligera modificación en la fuente en el área de lectura humana.
El primer artículo con la marca UPC que se escaneó en una caja minorista fue un paquete de 10 (50 barras) de chicle Juicy Fruit de Wrigley, comprado en el supermercado Marsh en Troy, Ohio, a las 8: 01 a.m. del 26 de junio de 1974. La caja registradora de NCR marcó 67 centavos. El carrito de compras también contenía otros artículos con código de barras, pero el chicle fue el primero que se recogió en la caja. Un facsímil del paquete de chicles se exhibió en el museo de historia estadounidense de la Institución Smithsonian en Washington, D.C.
Murray Eden fue consultor del equipo que creó el código de barras Universal Product Code. Como presidente de un comité de científicos del Instituto Tecnológico de Massachusetts, ayudó a "seleccionar un símbolo que resistiría la inevitable oleada de tecnología que se avecinaba." Eligió la fuente y se le ocurrió la idea de agregar números en la parte inferior, que es un sistema a prueba de fallas, en caso de que el lector de código de barras no funcione correctamente.
Propuesta de IBM
Alrededor de finales de 1969, IBM en Research Triangle Park (RTP) en Carolina del Norte asignó a George Laurer para determinar cómo hacer un escáner y etiqueta de supermercado. A fines de 1970, Heard Baumeister proporcionó ecuaciones para calcular los caracteres por pulgada alcanzables mediante dos códigos de barras de IBM, Delta A y Delta B. En febrero de 1971, Baumeister se unió a Laurer.
Delta B comparó el ancho de las barras con el ancho del espacio con los bits de código. Esto era extremadamente sensible a la dispersión de la tinta, donde niveles inadecuados de tinta o presión harían que ambos bordes de una barra se extendieran hacia afuera o se encogieran.
A mediados de 1971, William "Bill" Crouse inventó un nuevo código de barras llamado Delta C. Logró cuatro veces más caracteres por pulgada que Delta B.
Delta C logró su mayor rendimiento al usar únicamente los bordes delantero a delantero o trasero a trasero, lo que no se vio afectado por la distribución uniforme de la tinta. El código proporcionó el mejor rendimiento cuando tenía un conjunto de caracteres definido con una distancia de referencia fija que abarcaba la mayor parte o preferiblemente todo el carácter.
En agosto de 1971, Crouse se unió al esfuerzo del escáner. Después de varios meses no habían hecho ningún progreso. Estaban al tanto de la etiqueta de ojo de buey RCA que podía escanearse con un simple escáner láser de línea recta, pero una etiqueta legible era demasiado grande.
Aunque Litton Industries propuso un símbolo de ojo de buey cortado por la mitad para reducir el área, aún era demasiado grande y presentaba los mismos problemas de impresión de manchas de tinta que el símbolo RCA. La redundancia y la capacidad de verificación se eliminaron por completo. También estaban al tanto de las muchas propuestas de todo el mundo, ninguna de las cuales era factible.
En la primavera de 1972, Baumeister anunció un gran avance. Propuso una etiqueta con barras que eran un poco más largas que la distancia entre todas las barras que debían leerse en una sola pasada. Esta etiqueta podría escanearse con una simple "X" escáner sólo un poco más complejo que el escáner láser de línea recta. Al día siguiente, Baumeister sugirió que si la etiqueta se dividía en dos mitades, la longitud de la barra podría cortarse casi por la mitad.
Estas dos propuestas redujeron el área de la diana en un tercio y luego en un sexto. La imagen de la derecha muestra la etiqueta propuesta por Baumeister. No especificó ningún código de barras específico, ya que eso se entendía bien. Salvo el código de barras y diez dígitos la etiqueta UPC hoy es su propuesta. Poco después, Baumeister se trasladó a otra área de RTP.
Laurer procedió a definir los detalles de la etiqueta y escribir una propuesta. N.J. Woodland fue asignado como planificador del proyecto y ayudó a Laurer a escribir su propuesta.
El primer intento de Laurer con un código de barras utilizó Delta B. El tamaño de la etiqueta resultante fue de aproximadamente seis pulgadas por tres pulgadas, lo cual era demasiado grande. Crouse sugirió que Laurer usara su código de barras Delta C y proporcionó una copia de su patente que tenía un conjunto de caracteres alfanuméricos de muestra y reglas para generar alfabetos de otros tamaños. Esto redujo el tamaño de la etiqueta a alrededor de 1,5” x 0,9”.
Más tarde, Laurer le pidió ayuda a Crouse sobre cómo el escáner podía detectar una etiqueta. Juntos definieron barras de protección y una definición de cómo detectar la etiqueta. Las barras de protección también proporcionaron identificación para discriminación de media etiqueta y barras de entrenamiento para los circuitos de umbral del escáner. Laurer tenía una definición de etiqueta completa y procedió a escribir su propuesta.
Anteriormente, Crouse tuvo una idea para una varita simple que se usaba como un anillo y un brazalete. Decidió desarrollar esa varita para proporcionar una demostración de la etiqueta.
El 1 de diciembre de 1972, IBM presentó la propuesta de Laurer al Super Market Committee en Rochester, Minnesota, el lugar donde IBM desarrollaría el escáner. Durante la presentación, Crouse hizo una demostración de laboratorio en la que leyó etiquetas tipo UPC con su varita anular. Además de leer las etiquetas regulares, leyó la etiqueta grande de dos páginas en el centro del folleto de la propuesta. Luego pasó a una página que mostraba una foto de artículos etiquetados sobre una mesa. Las etiquetas eran pequeñas y defectuosas debido a la resolución de la foto impresa, pero la varita leyó muchas de ellas. Esta demostración mostró la solidez del código Delta C puro. La propuesta fue aceptada.
Un mes después, el 1 de enero de 1973, Crouse se transfirió nuevamente al grupo de tecnología avanzada de IBM y Laurer permaneció con la responsabilidad total de la etiqueta.
Dymo Industries, fabricantes de dispositivos de impresión portátiles, insistieron en que el código fuera independiente de los caracteres, de modo que los dispositivos de impresión portátiles pudieran producir el código de barras en la tienda si los artículos no tenían códigos de barras por parte de los fabricantes. IBM aceptó la propuesta de Dymo y la incorporó a la última propuesta de IBM.
Se decidió que las dos mitades de la etiqueta deberían tener un conjunto diferente de caracteres numéricos. El conjunto de caracteres que Laurer derivó de la patente Delta C usó siete incrementos o unidades imprimibles donde se imprimirían dos barras y dos espacios. Esto produjo veinte combinaciones de caracteres, pero hubo dos pares que, cuando se leyeron con las reglas Delta C, arrojaron el mismo código para el par.
Dado que dieciocho caracteres no eran suficientes, Laurer intentó agregar una unidad al conjunto de caracteres. Esto produjo veintiséis caracteres Delta C que podrían proporcionar los dos conjuntos de caracteres decimales, pero también agregó un catorce por ciento al ancho de la etiqueta y, por lo tanto, a la altura. Esto sería un aumento del treinta por ciento en el área o una etiqueta de 1,7”x1,03”. Laurer sintió que esto no era aceptable.
Laurer volvió al conjunto de caracteres original con veinte caracteres, pero cuatro de ellos eran dos pares con la misma lectura Delta C. Decidió usarlos todos. Para distinguir entre los pares, mediría el ancho de una barra en cada uno de los pares para distinguirlos entre sí. Para cada par, esas barras tendrían una o dos unidades de ancho.
Laurer no aplicó las ecuaciones de Baumeister a este conjunto. Sintió que una sola medida del ancho de la barra no sería demasiado seria. Resultó que habría requerido un aumento de más del cincuenta por ciento en ancho y alto para un aumento de área de más del doble. Laurer luego admitió que estos cuatro caracteres en cada conjunto eran responsables de la mayoría de los errores de lectura del escáner.
A David Savir, un matemático, se le asignó la tarea de demostrar que el símbolo podía imprimirse y cumpliría con los requisitos de confiabilidad, y lo más probable es que desconociera las ecuaciones de Baumeister. Él y Laurer agregaron dos dígitos más a los diez para corregir y detectar errores.
Entonces decidieron agregar paridad impar/par a la cantidad de unidades llenas de barras en cada lado. La paridad impar/par es una técnica utilizada para detectar cualquier número impar de errores de bits en un flujo de bits. Decidieron usar impares en una mitad y pares en la otra. Esto proporcionaría una indicación adicional de qué medio billete se estaba leyendo. Esto significaba que cada ancho de barra tenía que leerse con precisión para proporcionar una buena lectura. También significaba que todos los espacios también serían conocidos.
Exigir que cada ancho de bit se leyera con precisión básicamente anuló la ventaja de Delta C, excepto por la medición de referencia de Delta C. Solo el extraño conjunto de caracteres y el tamaño de la etiqueta permanecen como una sombra del código Delta C. El tamaño seguía siendo el calculado para Delta C puro. Si el tamaño de la etiqueta se hubiera vuelto a calcular correctamente, teniendo en cuenta las medidas de ancho de barra requeridas, la etiqueta habría sido demasiado grande para ser aceptable.
La ingeniería mecánica y el diseño de circuitos electrónicos suelen requerir diseños en el peor de los casos utilizando tolerancias conocidas. Muchos ingenieros que trabajaban con códigos de barras tenían poca experiencia con este tipo de cosas y usaban métodos algo intuitivos. Esta fue la causa del bajo rendimiento del código Delta B y muy probablemente de la falla del escáner de ojo de buey de RCA.
La siguiente tabla muestra las etiquetas viables, disponibles a principios de la década de 1970, con sus tamaños.
Tipo de etiqueta | Dimensiones de la etiqueta | Zona |
---|---|---|
El ojo del toro con el código Morse | Grande | Grande |
Ojo de bala con Delta B | 12.0 en diámetro (300 mm) | 113.10 en2 (729,7 cm)2) |
Ojo de bala con Delta A | 9.0 en diámetro (230 mm) | 63.62 en2 (410,5 cm2) |
Baumeister 1st w/ Delta B | 6.0 en × 5.8 en (150 mm × 150 mm) | 34.80 en2 (224,5 cm2) |
Baumeister 2 mitades w / Delta B | 6.0 en × 3.0 en (152 mm × 76 mm) | 18.00 horas2 (116,1 cm)2) |
Baumeister 2 mitades w / Delta A | 4.5 en × 2.3 en (114 mm × 58 mm) | 10.35 en2 (66,8 cm)2) |
Baumeister con Delta C | 1,5 en × 0,9 en (38 mm × 23 mm) | 1.35 en2 (8,7 cm2) |
Esto supone una diana con la misma información y legibilidad confiable.
Composición
Cada código de barras UPC-A consta de una tira escaneable de barras negras y espacios en blanco sobre una secuencia de 12 dígitos numéricos. No pueden aparecer letras, caracteres u otro contenido de ningún tipo en un código de barras UPC-A. Existe una correspondencia uno a uno entre el número de 12 dígitos y la franja de barras negras y espacios en blanco, es decir, solo hay una forma de representar visualmente cada número de 12 dígitos y solo hay una forma de representar cada franja de barras negras. y espacios en blanco numéricamente.
El área escaneable de cada código de barras UPC-A sigue el patrón SLLLLLLMRRRRRRE, donde S (inicio), M (medio) y E (final) los patrones de protección se representan de la misma manera en cada código de barras UPC-A y las secciones L (izquierda) y R (derecha) representan colectivamente los 12 dígitos numéricos que hacen que cada UPC-A sea único. El primer dígito L indica un sistema numérico particular para ser utilizado por los siguientes dígitos. El último dígito R es un dígito de verificación de detección de errores, que permite detectar algunos errores en el escaneo o la entrada manual. Los patrones de guardia separan los dos grupos de seis dígitos numéricos y establecen el tiempo.
UPC-A | UPC-E |
---|---|
UPC-A 042100005264 es equivalente a UPC-E 425261 con el código "EOEEOO" patrón de paridad, que está definido por el sistema numérico UPC-A 0 y el dígito de verificación UPC-A 4.
Formateo
Los códigos de barras UPC-A se pueden imprimir en varias densidades para adaptarse a una variedad de procesos de impresión y escaneo. El parámetro dimensional significativo se denomina dimensión x (ancho del elemento de un solo módulo). El ancho de cada barra (espacio) se determina multiplicando la dimensión x y el ancho del módulo (1, 2, 3 o 4 unidades) de cada barra (espacio). Dado que cada uno de los patrones de protección incluye dos barras, y cada uno de los 12 dígitos del código de barras UPC-A consta de dos barras y dos espacios, todos los códigos de barras UPC-A constan exactamente de (3 × 2) + (12 × 2) = 30 barras, de las cuales 6 representan patrones de protección y 24 representan dígitos numéricos.
La dimensión x del UPC-A en el tamaño nominal es de 0,33 mm (0,013"). La altura nominal del símbolo para UPC-A es de 25,9 mm (1,02 "). Las barras que forman los patrones de protección S (inicio), M (medio) y E (final) se extienden hacia abajo 5 veces la dimensión x, con una altura de símbolo nominal resultante de 27,55 mm (1,08 "). Esto también se aplica a las barras del primer y último dígito numérico del código de barras UPC-A. UPC-A se puede reducir o ampliar entre un 80 % y un 200 %.
Debe haber una zona silenciosa, con un ancho de al menos 9 veces la dimensión x, a cada lado del área escaneable del código de barras UPC-A. Para un número GTIN-12 codificado en un código de barras UPC-A, el primer y el último dígito de la interpretación legible por humanos siempre se colocan fuera del símbolo para indicar las zonas silenciosas que son necesarias para que los lectores de códigos de barras UPC funcionen correctamente.
Codificación
El código de barras UPC-A se representa visualmente mediante tiras de barras y espacios que codifican el número de 12 dígitos UPC-A. Cada dígito está representado por un patrón único de 2 barras y 2 espacios. Las barras y espacios son de ancho variable, es decir, 1, 2, 3 o 4 módulos de ancho. El ancho total de un dígito es siempre de 7 módulos; en consecuencia, el número UPC-A de 12 dígitos requiere un total de 7×12 = 84 módulos.
Un UPC-A completo tiene 95 módulos de ancho: 84 módulos para los dígitos (secciones L y R) combinados con 11 módulos para los patrones de protección S (inicio), M (medio) y E (final). Los patrones de protección S (inicio) y E (final) tienen 3 módulos de ancho y usan el patrón barra-espaciadora-barra, donde cada barra y espacio tiene un módulo de ancho. El patrón de guardia M (medio) tiene 5 módulos de ancho y usa el patrón barra espaciadora-barra espaciadora-espacio, donde cada barra y espacio también tiene un ancho de módulo. Además, un símbolo UPC-A requiere una zona silenciosa (espacio adicional de 9 módulos de ancho) antes de los patrones de guardia S (inicio) y después de E (final).
Silencio. zona | S (start) | L (doble numérico) | M (medio) | R (dígito numérico derecho) | E (end) | Silencio. zona | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |||||
Los dígitos del lado izquierdo del UPC-A (los dígitos a la izquierda del patrón de protección M (medio)) tienen una paridad impar, lo que significa que el ancho total de las barras negras es un número impar de módulos. Por el contrario, los dígitos del lado derecho tienen incluso paridad. En consecuencia, un escáner UPC puede determinar si está escaneando un símbolo de izquierda a derecha o de derecha a izquierda (el símbolo está al revés). Después de ver un patrón de protección S (inicio) o E (final) (son iguales, barra-espaciadora-barra, independientemente de la dirección en que se lean), el escáner verá primero los dígitos de paridad impar, si escaneo de izquierda a derecha, o incluso dígitos de paridad, si se escanea de derecha a izquierda. Con la información de paridad/dirección, un símbolo al revés no confundirá al escáner. Cuando se enfrenta a un símbolo al revés, el escáner puede simplemente ignorarlo (muchos escáneres alternan los escaneos de izquierda a derecha y de derecha a izquierda, por lo que leerán el símbolo en una pasada posterior) o reconocerá los dígitos y los colocará. en el orden correcto. Hay otra propiedad en la codificación de dígitos. Los dígitos del lado derecho son el inverso óptico de los dígitos del lado izquierdo, es decir, las barras negras se convierten en espacios en blanco y viceversa. Por ejemplo, el lado izquierdo "4" es espacio×1 - barra×1 - espacio×3 - barra×2, mientras que el lado derecho "4" es barra×1 - espacio×1 - barra×3 - espacio×2.
Numeración
La cantidad de códigos de barras UPC-A y UPC-E está limitada por los estándares utilizados para crearlos.
- UPC-A
- UPC-E
Dígito del sistema numérico
A continuación se muestra una descripción de todos los sistemas numéricos posibles con el correspondiente esquema de numeración UPC-A de 12 dígitos LLLLLLRRRRRR, donde L denota número dígito del sistema y dígito de control R.
- 0–1, 6–9
- Para la mayoría de los productos. Los dígitos LLL son el código del fabricante (asignado por la organización GS1 local), y los dígitos RRRRRRR son el código del producto.
- 2
- Reservado para uso local (store/warehouse), para artículos vendidos por peso variable. Los artículos de peso variable, como carnes, frutas frescas o verduras, son asignados a un número de artículo por la tienda, si están empaquetados allí. En este caso, el LLLLL es el número de artículo, y el RRRRR es el peso o el precio, con el primer R determinar qué (0 para peso).
- 3
- Medicamentos por Código Nacional de Drogas (NDC) número. Los productos farmacéuticos de EE.UU. utilizan los 10 dígitos medios de la UPC como su número de NDC. Aunque generalmente sólo los medicamentos de venta libre se escanean en el punto de venta, los UPC basados en NDC se utilizan en paquetes de medicamentos recetados y productos quirúrgicos y, en este caso, se llaman comúnmente Códigos UPN.
- 4
- Reservado para uso local (store/warehouse), a menudo para tarjetas de fidelidad o almacenar cupones.
- 5
- Cupones. Los dígitos LLL son dígitos 2-6 del prefijo UPC del producto, los próximos tres RRR son un código familiar (configurado por fabricante o suministrado por el centro de compensación de cupones), y los próximos dos RR son un código de valor (según la tabla de código de valor GS1), que determina la cantidad del descuento. Estos cupones se pueden duplicar o triplicar.
Cálculo del dígito de control
La UPC incluye un dígito de verificación para detectar errores comunes de entrada de datos. Por ejemplo, los códigos UPC-A eligen el dígito de verificación para satisfacer Ecuación del dígito:
Si un código ingresado no cumple con la ecuación, entonces no es un UPC-A válido.
El dígito de control UPC-A se puede calcular de la siguiente manera:
- Suma los dígitos en posiciones impares (primero, tercero, quinto,..., undécimo).
- Multiplique el resultado por 3.
- Agregue la suma del dígito en posiciones incluso numeradas (segundo, cuarto, sexto,..., décimo) al resultado.
- Encontrar el módulo de resultado 10 (es decir, el resto, cuando se divide por 10) y llamarlo M.
- Si M es cero, entonces el dígito de verificación es 0; de lo contrario el dígito de verificación es 10 - M.
Por ejemplo, en un código de barras UPC-A "03600029145x12", donde x12 es el dígito de control desconocido, x12 puede ser calculado por:
- Sumar los dígitos numerados (0 + 6 + 0 + 2 + 1 + 5 = 14).
- Multiplicar el resultado por 3 (14 × 3 = 42).
- Añadir los dígitos numerados (42 + (3 + 0 + 0 + 9 + 4) = 58).
- Encontrar el modulo de resultado 10 (58 mod 10 = 8 = M).
- Si M no es 0, subtract M de 1010 - M = 10 − 8 = 2).
Por lo tanto, el dígito de control x12 es 2.
La ecuación del dígito de control se selecciona para tener propiedades razonables de detección de errores (consulte el algoritmo de Luhn).
- UPC-A puede detectar el 100% de errores de un solo dígito.
- Un error de un dígito significa exactamente un dígito está mal. Deje que la diferencia modulo 10 del dígito erróneo y el dígito correcto sea d. El valor de d no puede ser cero porque eso significa que los dígitos son los mismos, pero d puede ser cualquier otro valor en {1, 2, 3, 4, 5, 6, 7, 8, 9}. Si el dígito de error está en una posición extraña (peso 1), el lado izquierdo de la ecuación del dígito de verificación cambia por d y la equivalencia ya no es cero. Si el dígito de error está en una posición uniforme (peso 3), entonces el lado izquierdo cambia por 3d, pero ese cambio es también no cero modulo 10, por lo que la ecuación del dígito de verificación no está satisfecha.
- UPC-A puede detectar alrededor del 89% de los errores de transposición. Específicamente, si y sólo si la diferencia entre dos dígitos adyacentes es 5, la UPC-A no puede detectar su transposición.
- Si se transponen 2 dígitos vecinos, entonces uno de los dígitos a será ponderado por 1, y el otro dígito b = a + d será ponderado por 3, donde d es la diferencia entre los dos dígitos. Si los dígitos estuvieran en su orden correcto, contribuirían
- al lado izquierdo de la ecuación del dígito de verificación. En el orden transpuesto, contribuyen
- .
- al LHS. Subtracting the two contributions gives how much they change the LHS:
- Se detectará un error mientras el cambio modular no sea cero; si 2d ngel 0 modulo 10, entonces el cambio no será detectado. En consecuencia, sólo cuando la diferencia de carácter d ↑ 5 un error será no detectado (cuando d ↑ la "transposición" degenerada no es un error.
- Siguiente considerar con qué frecuencia una transposición tiene una distancia d de 5.
- Si se transponen 2 dígitos vecinos, entonces uno de los dígitos a será ponderado por 1, y el otro dígito b = a + d será ponderado por 3, donde d es la diferencia entre los dos dígitos. Si los dígitos estuvieran en su orden correcto, contribuirían
- Aquí está el Tabla de transposiciones d para códigos de barras UPC-A, donde
Cuadro de d-transposiciones para códigos de barras UPC-A dN°0 1 2 3 4 5 6 7 8 9 1 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 2 1 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 3 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 4 3 3 3 4 3 5 3 6 3 7 3 8 3 9 5 4 4 4 5 4 6 4 7 4 8 4 9 6 5 5 5 6 5 7 5 8 5 9 7 6 6 6 7 6 8 6 9 8 7 7 7 8 7 9 9 8 8 9 10 9 9 Sum 10 18 16 14 12 10 8 6 4 2
- Row Sum contiene el número de d-transpositions, therefore the proportion of non-detectable transposition errors is (ignoring the transpositions where d = 0):
- ▯
- Row Sum contiene el número de d-transpositions, therefore the proportion of non-detectable transposition errors is (ignoring the transpositions where d = 0):
Variaciones
UPC en su uso más común se refiere técnicamente a UPC-A.
Existen otras variantes de la UPC:
- UPC-B es una versión de 12 dígitos de UPC sin dígitos de verificación, desarrollada para el Código Nacional de Drogas (NDC) y el Código Nacional de Salud Relacionado. Tiene 11 dígitos más un código de producto de 1 dígitos, y no está en uso común.
- UPC-C es un código de 12 dígitos con un código de producto y un dígito de verificación; no en uso común.
- UPC-D es un código de longitud variable (12 dígitos o más) con el 12to dígito siendo el dígito de verificación. Estas versiones no son de uso común.
- UPC-E es un código de 6 dígitos, que tiene su equivalente en código UPC-A de 12 dígitos con sistema de números 0 o 1.
- UPC-2 es un suplemento de 2 dígitos para la UPC utilizado para indicar la edición de una revista o revista periódica.
- UPC-5 es un suplemento de 5 dígitos para la UPC utilizado para indicar el precio de venta sugerido para los libros.
UPC-E
Para permitir el uso de códigos de barras UPC en paquetes más pequeños, donde es posible que no quepa un código de barras completo de 12 dígitos, se desarrolló una versión de UPC sin ceros, llamada UPC-E, en la que el dígito del sistema numérico, todos los ceros finales en el código del fabricante, y todos los ceros a la izquierda en el código del producto, se suprimen (omiten). Esta simbología difiere de UPC-A en que solo usa un código de 6 dígitos, no usa el patrón de protección M (medio) y el patrón de protección E (final) se forma como barra espaciadora-barra espaciadora- barra espaciadora, es decir, el código de barras UPC-E sigue el patrón SDDDDDDE. La forma en que un UPC-E de 6 dígitos se relaciona con un UPC-A de 12 dígitos, está determinada por el patrón numérico UPC-E y el patrón de paridad UPC-E. Solo puede corresponder al sistema numérico UPC-A 0 o 1, cuyo valor, junto con el dígito de control UPC-A, determina el patrón de paridad UPC-E de la codificación. Con los dígitos del código del fabricante representados por M's y los dígitos del código del producto por P's, entonces:
Último dígito UPC-E | Patrón numérico UPC-E | UPC-A equivalent | Números de productos disponibles |
---|---|---|---|
0 | MMPPP0 | 0 o 1 + MM000-00PPP + dígito de verificación | PPP = 000-999 |
1 | MMPPP1 | 0 o 1 + MM100-00PPP + dígito de verificación | PPP = 000-999 |
2 | MMPPP2 | 0 o 1 + MM200-00PPP + dígito de verificación | PPP = 000-999 |
3 | MMMPP3 | 0 o 1 + MMM00-000PP + dígito de verificación | PP = 00-99 |
4 | MMMMP4 | 0 o 1 + MMMM0-0000P + dígito de verificación | P = 0-9 |
5 | MMMMM5 | 0 o 1 + MMM-00005 + dígito de verificación | 5 = P |
6 | MMMMM6 | 0 o 1 + MMM-00006 + dígito de verificación | 6 = P |
7 | MMMMM7 | 0 o 1 + MMM-00007 + dígito de comprobación | 7 = P |
8 | MMMMM8 | 0 o 1 + MMM-00008 + dígito de verificación | 8 = P |
9 | MMMMM9 | 0 o 1 + MMMMM-00009 + dígito de comprobación | 9 = P |
Por ejemplo, un UPC-E 654321 puede corresponder al UPC-A 065100004327 o 165100004324, según el patrón de paridad UPC-E de los dígitos codificados, como se describe a continuación:
UPC-A dígito de verificación | Patrón de paridad UPC-E para UPC-A sistema de numeración 0 | Patrón de paridad UPC-E para UPC-A sistema número 1 |
---|---|---|
0 | EEEOO | OOOEEE |
1 | EEOEO | OOEOEE |
2 | EEOOEO | OOEEOE |
3 | EEOOE | OOEEEO |
4 | EOEEO | OEOOEE |
5 | EOOEEO | OEEOE |
6 | EOOOEE | OEEEO |
7 | EOEOEO | OEOEOE |
8 | EOEOOE | OEOEEO |
9 | EOOEOE | OEEO |
UPC-E 654321 con "EOEOEO" patrón de paridad (UPC-A 065100004327) se codificaría como
- 1-1-1 4-1-1-1-1 1-2-3-1 2-3-1 1-4-1-1 2-2-2-2-1 1-1-1-1-1-1.
El código de barras se vería así:
EAN-13
El EAN-13 se desarrolló como un superconjunto de UPC-A, agregando un dígito adicional al comienzo de cada número UPC-A. Esto amplió el número de valores únicos teóricamente posibles en diez veces a 1 billón. Los códigos de barras EAN-13 también indican el país en el que tiene su sede la empresa que vende el producto (que puede o no ser el mismo que el país en el que se fabrica el bien). Los tres primeros dígitos del código determinan esto, de acuerdo con los códigos de país GS1. Cada código UPC-A se puede convertir fácilmente al código EAN-13 equivalente anteponiendo 0 dígitos al código UPC-A. Esto no cambia el dígito de control. Todos los sistemas de punto de venta ahora pueden comprender ambos por igual.
EAN-8 es una variación de 8 dígitos del código de barras EAN.
Notas de uso de UPC:
- Todos los productos marcados con un EAN serán aceptados en Norteamérica actualmente, además de los ya marcados con un UPC.
- Los productos con una UPC existente no tienen que ser remarcados con un EAN.
- En América del Norte, el EAN añade 30% más códigos, principalmente añadiendo dígitos 10 a 12 a los dígitos UPC 00 a 09. Este es un poderoso incentivo para eliminar la UPC.
Contenido relacionado
Djbdns
Percy spencer
Clasificador lineal