Antecedentes: 3 de 9 Alfabeto de código de barras
Uma sintaxe simples para 3 de 9 códigos de barras
Qual é a fórmula por trás do alfabeto e dígitos em um código de barras 3 de 9?
Por exemplo, o ASCII tem um arranjo relativamente claro. Os números começam em 33, maiúsculas em 65 e minúscula em 97. A partir desses pontos de partida, você pode deduzir o código ASCII para qualquer número ou letra. O ponto inicial de cada intervalo também é um múltiplo de 32 + 1.
Os códigos de barras parecem aleatórios e sem sequência. Se usarmos a sintaxe do segundo link, esses serão os primeiros seis caracteres em 3 de 9:
A 100-01
B 010-01
C 110-00
D 001-01
E 101-00
F 011-00
Não vejo nenhum padrão aqui; O que é isso? Estou tão interessado no padrão pretendido pelo designer por trás deles quanto em alguém que cria um algoritmo próprio que pode fornecer o código acima para um determinado caractere com base em sua sequência.
Eu lutei com onde colocar essa pergunta; é história, ciência da computação, ciência da informação? Escolhi os programadores porque uma pesquisa no StackExchange teve o maior número de ocorrências de códigos de barras aqui e porque eu queria relacioná-lo especificamente com o ASCII para explicar que tipo de fórmula / explicação eu estou procurando.
Atualizar
Para os curiosos, aqui está a lista completa de todos os caracteres básicos no Código 39: http://jsfiddle.net/b9chris/LnX2e/2/
(as linhas de origem são retiradas da minha biblioteca de código de barras C # )
Você notará que a sintaxe simplificada proposta pode confundir um pouco o problema, pois pode implicar que todo caractere é um número de 5 bits com uma posição de traço. Os 4 caracteres finais têm vários traços (grandes lacunas). Realmente, é melhor pensar nesses códigos como números de 9 bits que possuem os bits mais ímpares definidos como 0 para a maioria dos símbolos. Aqui estão eles como números de 9 bits: http://jsfiddle.net/b9chris/LnX2e/1/