Oon täs näin tehny sellasta pikku juttua joka tekee numeroista EAN13 koodin ja tähän mennessä oon saanut aika paljonkin selville (Wikipedia FTW). Mutta kysympäs että miten se ensimmäinen numero saadaan laitettua siihen viivoihin, tiedän miten kaikki muut tehdään.
Eli siis ensimmäinen numero 6 413600 005247 on tuossa 6. Miten sen saa koodiin http://www.barcoderobot.com/ean-13/6413600005247
Oon lukenut tuon wikipedia artikkelin kokonaan, mutta ehkä se on lipunut vaan ohi silmien. Jos joku kertoisi ni olis hauskaa :D
http://en.wikipedia.org/wiki/
temu92 kirjoitti:
Oon lukenut tuon wikipedia artikkelin kokonaan, mutta ehkä se on lipunut vaan ohi silmien. Jos joku kertoisi ni olis hauskaa :D
http://en.wikipedia.org/wiki/European_Article_Number
Se on tossa Encoding -kappaleen aika alussa. Siinä on oikeen sellainen hieno taulukko "Structure of EAN-13" jossa on ensimmäisenä sarakkeena "First digit" eli suomeksi "ensimmäinen numero" ja sitten siinä on kerrottu miten se koodataan. Kuvakin löytyy oikeasta reunasta.
Wikipedian artikkelin mukaan ensimmäinen numero vaikuttaa seuraavan kuuden numeron viivoihin. Jos ensimmäinen numero on esim. 4, kuuden seuraavan numeron viivat lasketaan kaavan LGGLLG mukaan. Jos kuusi seuraavaa numeroa ovat esim. 2, 7, 8, 5, 2 ja 1, viivat ovat vastaavasti L2, G7, G8, L5, L2 ja G1. Katsopa tarkasti artikkelin lopussa olevaa kuvaa ja taulukoita, niin asian pitäisi selvitä.
Tiedän miten kaikki noi LGLGLGLGLLGRRRRR jutut menee, mut en vielä tajunnu miten sitten saadaan niistä viivoista se eka numero selville.
[offtöpic]Btw, toi ylhäälläoleva koodi jonka oon laittanu on Pepsi 2-packista :D[/offtöpic]
No katsotaan tietysti mitkä ne symbolit on. Eli jos sulla on vaikka viivat
L3 L4 G6 L3 G3 G2 R3 R0 R0 R3 R2 R1 -> 1 346332 300321
L3 L4 G6 G3 L3 G2 R3 R0 R0 R3 R2 R1 -> 2 346332 300321
L3 L4 G6 G3 G3 L2 R3 R0 R0 R3 R2 R1 -> 3 346332 300321
jne.
Eikös toi nyt oo aika selvää pässinlihaa.
Oonko ny vaa hidas, vai mikä o vikana mut en tajunnu vielkää. Siis eihän niihin viivoihin kai noi L, R ja G tuu eli mites sillon?
Jokainen seitsemän bitin yhdistelmä esiintyy vain kerran alimmassa taulukossa, joten se paljastaa sekä numeron että kirjaimen. Esim. jos viivat ovat 0011011, taulukon vastaava kohta on G2. Sitten kun koko vasen osa on tutkittu, kirjaimista G ja L muodostuva jono kertoo ensimmäisen numeron. Jos vaikka jono on LGGGLL, numero on 6.
Tutkitaan vielä seuraavaa viivakoodin vasenta osaa:
|| | || || | || | | | ||| | || || | || || | || | | | ||| | || || | || || | || | | | ||| | || 0011001 0110011 0100011 0001001 0100111 0001011
Taulukosta saadaan vastaavasti:
L1 G1 L4 G8 G0 L9
Yhdistelmä LGLGGL tarkoittaa, että ensimmäinen numero on 8, joten viivakoodin seitsemän ensimmäistä numeroa ovat:
8 1 1 4 8 0 9
Nyt hokas, kiits :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.