# Código de barras

Código de barras (em inglês: barcode) é um método de representação de dados de forma visual e legível por máquinas. Inicialmente, os códigos de barras eram representados pela variação das larguras e espaçamentos das linhas paralelas. Esses códigos, agora comumente chamados de lineares ou unidimensionais (1D), podem ser decodificados (lidos) por scanners ópticos especiais, chamados de leitores de código de barras, que normalmente emitem um feixe de laser vermelho percorrendo todas as barras. Os dados capturados nessa leitura óptica são compreendidos pelo computador, que por sua vez converte-os em letras ou números capazes de serem lidos por humanos. A sua utilização é muito comum em diversas áreas, desde a indústria ao comércio e serviços.

## Código de barras para produtos

Os códigos de barras EAN-13 servem como identificação de seu produto no sistema de ponto de vendas dos lojistas. Qualquer produto, como por exemplo os alimentícios; CDs e DVDs; produtos naturais; verduras e legumes; roupas e vestuários; sapatos; entre outros, utilizam códigos EAN-13. As únicas exceções são livros (veja código ISBN) e medicamentos controlados.
Também conhecido como GTIN-13, esse código de barras é usado no mundo todo, exceto nos EUA e no Canadá (veja UPC).

## História

A primeira patente de um código de barras foi atribuída em 1952 a Joseph Woodland e Bernard Silver. Seu código consistia num padrão de circunferências concéntricas de espessura variável.
Em 1969, a Associação Nacional das Cadeias Alimentares (NAFC) realizou uma reunião, onde se discutiu a ideia de sistemas de verificação geral automatizados. A RCA tinha comprado os direitos à patente de Woodland original, participou da reunião e deu início a um projeto interno para desenvolver um sistema baseado no código bullseye. A cadeia de supermercados Kroger se ofereceu para testá-lo.
Em meados dos anos 1970, a NAFC estabeleceu o Comitê para Supermercados dos Estados Unidos em Código Uniforme de Produto de Supermercado, que estabeleceu diretrizes para o desenvolvimento de códigos de barras e criou uma subcomissão para seleção de símbolo, para ajudar a padronizar a abordagem. Em cooperação com a empresa de consultoria McKinsey & Co., eles desenvolveram um código padronizado de 11 dígitos para identificar produtos. A comissão enviou então uma proposta de contrato para desenvolver um sistema de código de barras para imprimir e ler o código. O pedido foi para Cantor, National Cash Register (NCR), Litton Industries, RCA, Pitney-Bowes, IBM e muitos outros. Foi estudada uma grande variedade de abordagens de código de barras, incluindo códigos lineares, código de círculo concêntrico da RCA (bullseye), padrões de "explosão de estrela" (starburst) e outros.
Na primavera de 1971, a RCA demonstrou o seu código bullseye em outra reunião da indústria. Os executivos da IBM na reunião notaram as multidões no estande da RCA; e imediatamente desenvolveram seu próprio sistema. O especialista em marketing da IBM, Alec Jablonover, lembrou que a empresa ainda havia empregado a Woodland; e estabeleceu uma nova unidade na Carolina do Norte para liderar o desenvolvimento.
Em julho de 1972, a RCA começou um teste de 18 meses em uma loja da Kroger, em Cincinnati. Os códigos de barras foram impressos em pequenos pedaços de papel adesivo e anexados à mão por funcionários da loja, enquanto estes adicionavam etiquetas de preços. Mas o código provou ter um problema sério: durante a impressão, às vezes as prensas mancharam de tinta o papel que estava em impressão, tornando o código ilegível na maioria das orientações. Um código linear, como o que está a ser desenvolvido pela Woodland na IBM, no entanto, foi impresso na direcção das tiras, de modo que a tinta adicional o torna simplesmente "mais alto", permanecendo legível.
Em 3 de abril de 1973, o IBM UPC foi seleccionada pela NAFC como o seu padrão. A IBM tinha projetado cinco versões da simbologia UPC para necessidades futuras da indústria: UPC A, B, C, D e E.
A NCR havia instalado um sistema testbed no Supermercado da Marsh, em Troy, Ohio, perto da fábrica que estava produzindo o equipamento. Em 26 de junho de 1974, Clyde Dawson puxou um pacote de dez gomas de Wrigley Juicy Fruit fora de sua cesta; e este foi digitalizado por Sharon Buchanan às 8h01. O pacote de chicletes e da recepção estão agora em exposição na Smithsonian Institution. Essa foi a primeira aparição comercial da UPC.
Em 1971, a IBM tinha montado uma equipe para uma sessão de planejamento intensivo, dia após dia, de 12 a 18 horas por dia, para discutir a forma como todo o sistema pode operar e programar um plano de roll-out. Em 1973, reuniram-se com os fabricantes de supermercado para introduzir o símbolo que teria de ser impresso na embalagem ou nos rótulos de todos os seus produtos. Não foram observadas reduções de custos para uma mercearia para usá-lo, a não ser que pelo menos 70% dos produtos dessa tenham o código de barras impresso no produto pelo fabricante. A IBM estava projetando que 75% seriam necessários em 1975. Apesar da meta ter sido alcançada, não foram máquinas ainda que fizeram a digitalização em menos de 200 supermercados ao longo de 1977.
Estudos econômicos realizados pelo comitê de indústria de supermercado projetaram mais de 40 milhões de dólares em poupanças para a indústria da verificação, por meados dos anos 1970. Esses números não foram alcançados nesse período de tempo; e alguns previram o fim do código de barras. A utilidade do código necessitava da adoção de scanners caros por uma massa crítica de varejistas, enquanto fabricantes adoptaram simultaneamente etiquetas de código de barras. Nem queria mudar primeiro; e os resultados não foram promissores para o primeiro par de anos, com a Business Week proclamando "O Supermercado Scanner que falhou".
A experiência com códigos de barras nas lojas revelou benefícios adicionais. As informações detalhadas de vendas adquiridas pelos novos sistemas permitiram uma maior capacidade de resposta às necessidades dos clientes. Isso se refletiu no fato de que, cerca de cinco semanas depois de instalar scanners de código de barras, as vendas em supermercados normalmente começaram a subir e, eventualmente, nivelou-se em um aumento de 10-12% nas vendas, que nunca caiu. Houve também uma diminuição de 1-2% no custo operacional para as lojas que lhes permitiram reduzir os preços para aumentar a quota de mercado. Foi mostrado no campo que o retorno sobre o investimento para um scanner de código de barras foi de 41,5%. Em 1980, 8.000 lojas por ano foram de conversão.
O lançamento público global do código de barras foi recebido com ceticismo menor de teóricos da conspiração, que consideravam os códigos de barras como sendo um intruso de vigilância tecnológica; e de alguns cristãos que pensavam os códigos escondeu o número 666, que representa o "número da besta". O anfitrião de televisão Phil Donahue descreveu os códigos de barras como uma "conspiração corporativa contra os consumidores".
O uso do código de barras - uma prática ligada à automação de processos nas empresas - levou cerca de duas décadas para ser universalizado. Na Europa, segundo dados da EAN International, até 1981, poucos dos 21 países filiados à entidade utilizavam efetivamente o código. Em 1985, cerca de 92% das lojas automatizadas em todo o mundo estavam concentradas em somente seis países. Os produtos devem ser identificados pelo seu código de barras para este controle de entrada e saída de mercadorias, cadastrando-os no sistema utilizado pela empresa.
Muitas empresas escolhem a ferramenta de código de barras por ser “[...] utilizada em sistemas de pontos-de-venda em supermercados e lojas de varejo. Os códigos podem conter dados de horário, data e localização, além dos dados de identificação” (LAUDON, 2014).
Codificar produtos é uma forma de aumentar o nível de acurácia, uma vez que a partir da codificação o estoque não poderá ter duplicidade de produtos, a localização dos itens se torna mais fácil, os riscos de compra ou venda errada são menores e a praticidade de manuseio por meio de quem trabalha com os itens é maior.

### No Brasil

No Brasil, o Código Nacional de Produtos (código de barras) foi introduzido formalmente em 29 de novembro de 1984.

### Em Portugal

Em Portugal, o código de barras surgiu em 1985, sendo utilizado até hoje. Muitas empresas e administradores usam do código de barras para que seu estoque e produção não fiquem vagos. Com este sistema de código, o trabalho que antes era "demorado" hoje é muito mais eficiente.
O indicativo ou prefixo de Portugal é 560.

## Mecanismo básico

Nosso sistema de numeração é constituído por dez algarismos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), com os quais podemos escrever qualquer número. Esse sistema é chamado de base decimal. Podemos demonstrar qualquer número aplicando potências de base 10. Veja:
47 621 = 4 x 10$^4$ + 7 x 10$^3$ + 6 x 10$^2$ + 2 x 10$^1$ + 1 x 10$^0$
No sistema binário (base 2), os números são escritos utilizando 0 e 1; e as potências de 2. Veja:
21$_{(base10)}$ = 10101$_{(base2)}$
Transformando o número na base 2 para base 10. Observe:
10101$_{(base2)}$ = 1 x 2$^4$ + 0 x 2$^3$ + 1 x 2$^2$ + 0 x 2$^1$ + 1 x 2$^0$ (de acordo com a posição do 0 e 1, elevamos a base 2 ao expoente adequado)
| 10101 | Base 2 |
| 1 | Posição 4: 2$^4$ |
| 0 | Posição 3: 2³ |
| 1 | Posição 2: 2² |
| 0 | Posição 1: 2¹ |
| 1 | Posição 0: 2° |
* No código de barras, a barra preta significa 1; e a branca, 0. O número 10100001101, na base 2, é um código de barras simplificado.
* Os preços dos produtos no comércio mostrados em código de barras são mais complexos, porém podemos estabelecer o código de barras abaixo na base 10.

### Exemplo:

O número 1293 é o código de barras dos cotonetes no Continente da Amadora. O leitor de código de barras do caixa da Amadora faz a leitura óptica dos códigos; e em frações de segundos, efectua os cálculos, chegando ao número 1293. Acedendo a uma lista de produtos, procura qual foi registado com esse número, registando o valor no cupom.
10100001101$_{base2}$ = 1 x 2$^{10}$ + 0 x 2$^9$ + 1 x 2$^8$ + 0 x 2$^7$ + 0 x 2$^6$ + 0 x 2$^5$ + 0 x 2$^4$ + 1 x 2$^3$ + 1 x 2$^2$ + 0 x 2$^1$ + 1 x 2$^0$ = 1 x 1024 + 0 x 512 + 1 x 256 + 0 x 128 + 0 x 64 + 0 x 32 + 0 x 16 + 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 1024 + 0 + 256 + 0 + 0 + 0 + 0 + 8 + 4 + 0 + 1 = 1293.

## Estrutura numérica

O código EAN/UPC é um sistema internacional que auxilia na identificação inequívoca de um item a ser vendido, movimentado e armazenado, sendo o EAN-13 o padrão utilizado mundialmente, exceto nos EUA e Canadá. A estrutura numérica do código (que geralmente mostra os números que representa abaixo das barras) leva as seguintes informações (tomando-se como exemplo o código 7 898357 41123 2):
* Os 3 primeiros dígitos representam a origem da organização responsável por controlar e licenciar a numeração. Esses NÃO indicam origem de produto ou da empresa detentora dos códigos, ou seja, 789 representa que o produto foi cadastrado no Brasil, mesmo ele não sendo fabricado nesse país. Um exemplo disso são os produtos cadastrados na Argentina, que começam com 779;
* Os próximos dígitos, que podem variar de 4 a 7, representam a identificação da empresa proprietária de tal prefixo; no exemplo é 835741 (seis dígitos);
* Os dígitos 123 representam a identificação do produto, e são atribuídos pelo fabricante, quando o mesmo possuí um prefixo próprio;
* O último dígito, 2, é chamado de dígito verificador, e confirma matematicamente que os dígitos precedentes estão corretos.
No total, o código EAN-13 deve ter 13 dígitos. Vale ressaltar que os números da empresa variam de uma para outra; os números que identificam o item variam de um para outro; e o dígito verificador deve ser recalculado a cada variação na numeração. Existem outros tipos de códigos padrões para diversas aplicações.

## Códigos numéricos e alfanuméricos

Os códigos de barras dividem-se em dois grupos: os numéricos e os alfanuméricos (sendo esses últimos capazes de representar números, letras e caracteres de função especial ao mesmo tempo).
Os códigos de barras são diferenciados entre si pelas regras de simbologia. Cada uma delas trata como os dados serão codificados.

## Código 39

Código 39 é uma simbologia de código de barras que codifica letras maiúsculas, dígitos e alguns símbolos especiais, como $. O maior problema do código 39 é sua baixa densidade de dados, pois requer mais espaços que outros códigos, como o 128.
A tabela a seguir contém a conversão para código 39:
Legenda :
| Formato 1 | Formato 2 | Descrição |
| W | B | Preto largo |
| N | b | Preto fino |
| w | W | Branco largo |
| n | w | Branco fino |
Detalhes :
| Caractere | Formato 1 | Formato 2 |
| * | NwNnWnWnN | bWbwBwBwb |
| - | NwNnNnWnW | bWbwbwBwB |
| $ | NwNwNwNnN | bWbWbWbwb |
| % | NnNwNwNwN | bwbWbWbWb |
| (espaço) | NwWnNnWnN | bWBwbwBwb |
| . | WwNnNnWnN | BWbwbwBwb |
| / | NwNwNnNwN | bWbWbwbWb |
| + | NwNnNwNwN | bWbwbWbWb |
| 0 | NnNwWnWnN | bwbWBwBwb |
| 1 | WnNwNnNnW | BwbWbwbwB |
| 2 | NnWwNnNnW | bwBWbwbwB |
| 3 | WnWwNnNnN | BwBWbwbwb |
| 4 | NnNwWnNnW | bwbWBwbwB |
| 5 | WnNwWnNnN | BwbWBwbwb |
| 6 | NnWwWnNnN | bwBWBwbwb |
| 7 | NnNwNnWnW | bwbWbwBwB |
| 8 | WnNwNnWnN | BwbWbwBwb |
| 9 | NnWwNnWnN | bwBWbwBwb |
| A | WnNnNwNnW | BwbwbWbwB |
| B | NnWnNwNnW | bwBwbWbwB |
| C | WnWnNwNnN | BwBwbWbwb |
| D | NnNnWwNnW | bwbwBWbwB |
| E | WnNnWwNnN | BwbwBWbwb |
| F | NnWnWwNnN | bwBwBWbwb |
| G | NnNnNwWnW | bwbwbWBwB |
| H | WnNnNwWnN | BwbwbWBwb |
| I | NnWnNwWnN | bwBwbWBwb |
| J | NnNnWwWnN | bwbwBWBwb |
| K | WnNnNnNwW | BwbwbwbWB |
| L | NnWnNnNwW | bwBwbwbWB |
| M | WnWnNnNwN | BwBwbwbWb |
| N | NnNnWnNwW | bwbwBwbWB |
| O | WnNnWnNwN | BwbwBwbWb |
| P | NnWnWnNwN | bwBwBwbWb |
| Q | NnNnNnWwW | bwbwbwBWB |
| R | WnNnNnWwN | BwbwbwBWb |
| S | NnWnNnWwN | bwBwbwBWb |
| T | NnNnWnWwN | bwbwBwBWb |
| U | WwNnNnNnW | BWbwbwbwB |
| V | NwWnNnNnW | bWBwbwbwB |
| W | WwWnNnNnN | BWBwbwbwb |
| X | NwNnWnNnW | bWbwBwbwB |
| Y | WwNnWnNnN | BWbwBwbwb |
| Z | NwWnWnNnN | bWBwBwbwb |

## Scanners

Os mais antigos e mais baratos scanners (leitores) de código de barras são construídos a partir de uma luz fixa e um único foto-sensor, que é passado manualmente em frente ao código de barras.
Scanners de código de barras podem ser classificados em três categorias, com base em sua conexão com o computador. O tipo mais antigo é o scanner RS-232. Este tipo requer uma programação especial para a transferência de dados de entrada para o programa de aplicação.
Scanners de interface de teclado se conectam a um computador usando um teclado PS/2 ou cabo adaptador AT compatível com teclado (a "interface de teclado"). Os dados do código de barras são enviados para o computador como se tivessem sido digitados no teclado.
Como o scanner de interface do teclado, scanners USB são fáceis de instalar e não precisam de código personalizado para transferir os dados de entrada para o programa aplicativo. Em PCs com o Windows, a interface HID emula os dados que se fundem à ação de hardware "cunha teclado"; e o scanner comporta-se automaticamente como um teclado adicional.
Muitos telefones são capazes de decodificar códigos de barras usando também a sua câmera embutida. O sistema operacional móvel Android, do Google, usa tanto a sua própria aplicação Google Goggles ou scanners de terceiros de código de barras; como Scan, sistema operacional Symbian, da Nokia, que possui um scanner de código de barras, enquanto mbarcode é um leitor de código QR para o SO Maemo. No iOS, um leitor de código de barras não está incluído; mas, nativamente, mais de 50 aplicativos pagos e gratuitos estão disponíveis com ambos os recursos de digitalização e de difícil ligação URI. Com dispositivos BlackBerry, o aplicativo App World pode nativamente ler códigos de barras e carregar quaisquer URLs Web reconhecidos no navegador Web do dispositivo. O Windows Phone 7.5 é capaz de ler códigos de barras através do Bing. No entanto, esses dispositivos não são projetados especificamente para a captura de códigos de barras. Como resultado, eles não decodificam quase tão rapidamente um scanner de código de barras dedicado ou um terminal de dados portátil.

## Código de barras QR

Os códigos de barras QR são utilizados na maioria das vezes para marketing, seja este pessoal ou empresarial. Podem conter várias informações diferentes, sendo essas, por exemplo, cartões pessoais, contendo seu nome, contato e empresa onde trabalha. Ou também o website, onde a pessoa, ao fazer a leitura com um smartphone, seria levada diretamente a sua página online, por meio do código.