Hola, trataré de explicarte de una forma básica. Existen diferentes tipos de códigos que se utilizan dependiendo a la aplicación en la que se utilizarán:
UPCA: 12 caracteres numéricos
EAN13: 13 caracteres numéricos
EAN8: 8 caracteres numéricos
Código 39: alfanuméricos y de longitud variable
Básicamente si es venta al público es UPC o EAN, si es industria es C39 o C128.
Por los detalles que marcas en tu pregunta, supongo te refieres al EAN/UPC, que básicamente son lo mismo (European Article Number / Universal Product Code) al cuál pertenecen el UPCA, EAN8 y EAN13 utilizados en productos para venta al público en tiendas de autoservicio y tiendas departamentales.
En cuanto a su estructura (país, fabricante, producto, dígito verificador), es la siguiente:
Ejemplo: Del número de código 7501125104879 (es un medicamento que me encontré)
* 750 - Corresponde al país, en este caso "México"
* 11251 - Número de fabricante asignado, la empresa encargada es AMECE (Asociación Mexicana de Estándares para el Comercio Electrónico)
* 0487 - Número del producto que es asignado por el fabricante
* 9 - Dígito Verificador
El dígito verificador no es un número al azar ni dado por alguna asociación, sino que es determinado por el mismo código de la siguiente manera.
750112510487_
- Primero se suman todos los dígitos en posición par y se multiplican por 3 (5+1+2+1+4+7=20*3=60)
- Segundo se suman los dígitos en posición non y se multiplican por 1 (7+0+1+5+0+8=21*1=21)
- Tercero se suma el resultado de los dígitos pares con el de los dígitos nones (60+21=81)
- Cuarto, se resta la decena superior al resultado obtenido de la suma y resta de los dígitos del código, es decir, la decena superior en el caso de 81 es 90. (90-81=9)
"El dígito verificador es 9 y el código queda: 7501125104879.
Espero te sirva de mucho, si buscas como EAN o UPC es seguro que encuentres mucha información.