Author Image

ezequielsp

Dec 17, 2020

Validade do Código de Barras (BRCode) e Regras de Formação

BRcodetamanho mínimovalor curto039247AA1CRC16campo 636304valorstringPSP

lembra se esse código tem um mínimo de caracteres? Digo todo o brcode..

Respostas (3):
Avatar discord do usuario anoni_mato

anoni_mato

17/12/2020

monta um brcode com o menor tamanho possível (somente campos obrigatórios), com o valor mais curto que fizer sentido, e vc vai ter uma noção

Avatar discord do usuario ezequielsp

ezequielsp

17/12/2020

Eu fiz alguns testes aqui, mesmo esse estático com 88 gerou "7AA1"
Mas me diz uma coisa, se fosse 03924 passaria?
- pergunto isso porque penso que para que seja adicionado o 0 na frente do 924, a implementação de quem vai checar também tem que adicionar o 0

Avatar discord do usuario anoni_mato

anoni_mato

17/12/2020

cara, tem 2 regras:

- o campo 63 precisa ter 4 caracteres
- o CRC16 é calculado em cima de toda a string (incluindo 6304)

então o certo é comparar seguindo a norma:

- pega a string e retira apenas o valor do campo 63 (mantém 6304)
- calcula o CRC em cima do que sobrou

se o CRC do que sobrou é "924" (ou "0924", dependendo da função que vc use pra calcular o CRC já é normal o "0" à esquerda estar presente) o valor do campo tem que ser considerado um "match"

- se algum PSP não considerar a string com "0924" match, tá errado
- se algum PSP considerar a string com "924" match, também tá errado (pq o campo tem que ter 4 caracteres e essa regra já estaria quebrada independentemente do teste de CRC)