Codigos de barras !
by
kacimiro

Esta es una pequeña explicacion sobre los codigos de barra , tan comunes en productos de toda clase.

Esta cosa nacio en estados unidos con el nombre de UPC ( Universal Product Code ) luego fue conocida en Europa , alterada y conocida como EAN (European article numbering) que esta muy bien difundido en europa y resto del mundo.

Hay otros tipos de codificacion mas modernos como la 39 que incluye letras mayusculas y varios simbolos , la 128 que incluye todos los caracteres ASCII. Entre las mas modernas esta la 2-D , que se basa en codigos rectangulares , lla mado codigos matriz , estos requieren un scanner mas sofisticado y mas caro.

En fin hay muchos tipos de upc :

Codabar (HP)
Codablock (UPC 2-D)
Code 1
Code 16K
Code 11 (HP) & (AIM-USA)
Code 39
Code 49
Code 93 (HP) & (AIM-USA)
Code 128 El de los CDs
Data Matrix Data Code
EAN Tipo UPC/EAN -> de este es del que estamos hablando
Interleaved 2 of 5
MaxiCode
MSI Code
NW-7 Code
Plessey Code
PDF417
Postnet Correos USA
Telepen SB Electronics
Vericode

Pues cada pais har las variaciones que le de la gana en su codiguito , pero siempre se siguen unos patrones, se trata de que tenga 12 o 13 digitos (de #0 a #12 o de #0 a #13). Cada digito esta compuesto por 7 barras.

El codigo de barras esta dividido en cuatro partes principales que son:

- Bloque inicial de datos

- numero base de 7 digitos que a su vez se divide en:
- numero asignado al pais
- numero asignado a la empresa

- numero de articulo (5 digitos)

- numero de autentificacion o CRC (1 digito)

En total son 95 barras, mas o menos de acuerdo a las variaciones, transparentes y negras y son 7 para cada digito.

Este es la lista de codigos correspondientes a cada pais:

00 USA y Canada
01 USA y Canada
03 USA y Canada
05 USA y Canada
06-13 USA y Canada
02 Se reserva para el uso local de almacenes y otros
30-37 Francia
400-440 Alemania
45 Japon
46 Federacion Rusa
471 Taiwan
474 Estonia
475 Letonia
477 Lituania
479 Sri Lanka
480 Filipinas
482 Ukraine
484 Moldavia
485 Armenia
486 Georgia
487 Kazagistan
489 Hong Kong (HK)
49 Japon
50 UK
520 Grecia
528 Libano
531 Macedonia
535 Malta
539 Irlanda
54 Belgica & Luxemburgo
560 Portugal
569 Iceland
57 Dinamarca
590 Polonia
594 Rumania
599 Hungria
600-601 Sur Africa
609 Mauritania
611 Marruecos
613 Algeria
619 Tunez
622 Egipto
625 Jordania
626 Iran
64 Finlandia
690-692 China
70 Norway
729 Israel
73 Suecia
740-745 Guatemala, El Salvador, Honduras, Nicaragua, Costa Rica & Panama
746 Republica Dominicana
750 Mexico
759 Venezuela
76 Suiza
770 Colombia
773 Uruguay
775 Peru
777 Bolivia
779 Argentina
780 Chile
784 Paraguay
785 Peru
786 Ecuador
789 Brazil
80-83 Italia
84 Espa~a
850 Cuba
858 Slovakia
859 Chequia
860 Yugoslavia
869 Turkia
87 Holanda
880 Korea del Sur
885 Tailandia
888 Singapur
890 India
893 Vietnam
899 Indonesia
90-91 Austria
93 Australia
94 Nueva Zelanda
955 Malasia
977 ISSN (International Standard Serial Number for periodicals)
978 ISBN (International Standard Book Number)
979 ISMN (International Standard Music Number)
980 Productos devueltos
99 Cupones

Generando codigos
-----------------

Un ejemplo del codigo de un articulo seria asi:

|||||||||||||||||||
7||702021||640137||

mas o menos!, por ahora solo nos vamos a concentrar en el numero.

como ven comienza por 770 , lo que quiere decir que el articulo o producto es de origen colombiano (de acuerdo a la lista de mas arriba) , luego viene 2021 que seria el codigo de la compañia productora del articulo y luego dice 64013 que seria el numero que identifica al articulo y el ultimo digito, el 7 es el numero de autentificacion, que es generado de acuerdo al siguiente algoritmo:

numero de autentificacion (CRC).
--------------------------------

7 7 0 2 0 2 1 6 4 0 1 3 7
| | | | | | | | | | | | |
0 1 2 3 4 5 6 7 8 9 10 11 12

VALOR A: se suman todos los numeros de las posiciones pares sin incluir la 12.

7 + 0 + 0 + 1 + 4 + 1 = 13

VALOR B: Se suman todos los numeros de las posiciones impares y el resultado
se multiplica por 3

(7 + 2 + 2 + 6 + 0 + 3) * 3 = 60

VALOR C: Se suman A y B

13 + 60 = 73

VALOR D: C se divide entre 10 y el residuo seria el valor D

73 / 10 = 7 y el residuo es 3

CRC: y finalmente a 10 se le resta ese residuo, dando por resultado el numero
de autentificacion!

Nota: si el residuo es 0, asi se queda!

10 - 3 = 7

7 702021 640137
|
|--> CRC !!

Pueden comprobarlo con su articulo preferido! (desde que no sea otro tipo de
codificacion).

Y LAS BARRAS !!
---------------

Entonces hay digitos de tipo A, de tipo B y de tipo C y de acuerdo al tipo de digito que sea, tiene su forma de representarse en barras.

O sea que los digitos A tienen una representacion en barras diferente a los digitos B y diferente a los digitos C.

Y! el primer digito del codigo de barras es el que indica de que tipo es cada digito, asi:

#0 #1 #2 #3 #4 #5 #6
0 A A A A A A
1 A A B A B B
2 A A B B A B
3 A A B B B A
4 A B A A B B
5 A B B A A B
6 A B B B A A
7 A B A B A B
8 A B A B B A
9 A B B A B A

esto es para los digitos del primer bloque, los del segundo bloque son tipo C todos.

Llendo al ejemplo, el codigo empieza por 7, eso quiere decir que el codigo es de este tipo:

(7) A B A B A B C C C C C C
| | | | | | | | | | | | |
7 7 0 2 0 2 1 6 4 0 1 3 7

Ahora veamos como se representa cada numero de acuerdo a su tipo :

Nota : los "1" indican negro y los "0" indican transparente.

A B C
0 0001101 0100111 1110010
1 0011001 0110011 1100110
2 0010011 0011011 1101100
3 0111101 0100001 1000010
4 0100011 0011101 1011100
5 0110001 0111001 1001110
6 0101111 0000101 1010000
7 0111011 0010001 1000100
8 0110111 0001001 1001000
9 0001011 0010111 1110100

y como podran notar

B = XOR C
C = NOT A

Con eso ya esta construido su codigo de barras.

NOTAS :

1. Este codigo casi siempre viene imprimido sobre blanco y debe tener un borde blanco de al menos 10 veces la barra mas delgada del codigo, ya que si no es asi, el lector laser tal vez no interprete los datos.

2. El codigo de barras puede ser de cualquier tamaño , siempre y cuando se conserve la escala.

3. Toda la informacion expuesta aqui puede y tal vez es real, otras personas dicen que nacemos con codigos de barras imprimidos en nuestras cabezas y los algoritmos aqui expuestos no se han probado con ese tipo de codigos de barras si alguien tiene informacion al respecto no dude en comunicarse con nosotros.

Aplicaciones!
-------------

Aplicaciones hay muchas, conseguir rebajas en productos de supermercados por ejemplo. Piensen!.

FIN!
 
 


--IR AL MENÚ PRINCIPAL--