QR kode

QR-kode [a] ( eng.  Quick response code  - quick response code [2] ; forkortelse QR code ) - en type matrixstregkoder (eller todimensionelle stregkoder ), oprindeligt udviklet til bilindustrien i Japan . Masahiro Hara [3] betragtes som dens skaber . Selve udtrykket er et registreret varemærke tilhørende det japanske firma Denso . En stregkode er en maskinlæsbar optisk etiket, der indeholder information om den genstand, den er fastgjort til. QR-koden bruger fire standardiserede kodningstilstande (numerisk, alfanumerisk, binær og kanji ) til at gemme data effektivt; udvidelser [4] kan også bruges .

QR-kodesystemet er blevet populært uden for bilindustrien på grund af dets hurtige læsbarhed og højere kapacitet sammenlignet med UPC standardstregkoder . Udvidelser omfatter produktsporing, vareidentifikation, tidsregistrering, dokumentstyring og generel markedsføring [5] .

En QR-kode består af sorte firkanter arrangeret i et firkantet gitter på en hvid baggrund, som kan læses af billedbehandlingsenheder såsom et kamera og behandles ved hjælp af Reed-Solomon-koder , indtil billedet genkendes korrekt. De nødvendige data udtrækkes derefter fra de mønstre, der er til stede i de vandrette og lodrette komponenter af billedet [5] .

Beskrivelse

I de dage, hvor der ikke var nogen QR-kode, blev der udført komponentscanning på Denso - fabrikken med forskellige stregkoder. Men på grund af, at der var omkring 10 af dem, var arbejdseffektiviteten ekstrem lav, og arbejderne klagede over, at de hurtigt blev trætte, og bad også om, at der blev oprettet en kode, der kunne indeholde flere oplysninger end en almindelig stregkode. For at besvare denne arbejders anmodning satte Denso-Wave sig for at skabe en kode, der kunne omfatte flere oplysninger for at muliggøre højhastigheds-komponentscanning. [6] For at gøre dette begyndte Masahiro Hara, som arbejdede i udviklingsafdelingen, at udvikle ny kode fra 1992. [7] Inspirationen til QR-koden kom fra spillet Go , som Masahiro Hara spillede i sin frokostpause. [7] Han besluttede, at designmålet ikke kun var at øge mængden af ​​kodeinformation, men også at "læse præcist og hurtigt", samt at gøre koden læsbar og modstandsdygtig over for oliepletter, snavs og skader, hvilket tyder på, at det vil blive brugt i de respektive brancher. QR-koden blev introduceret af den japanske virksomhed Denso-Wave i 1994 efter en to-årig udviklingsperiode. [8] [9] [10] Det blev designet med Toyotas Kanban ( just in time ) produktionssystem i tankerne til brug i autoreservefabrikker og distributionscentre. Men da den har en høj fejldetektions- og korrektionsevne og er lavet i open source , er den bevæget sig ud af Toyotas snævre forsyningskæder og er blevet brugt i andre områder, hvilket har ført til, at den nu er udbredt. bruges ikke kun i Japan, men i hele verden. Den enorme popularitet af stregkoder i Japan førte til, at mængden af ​​information krypteret i dem snart holdt op med at passe til industrien. Japanerne begyndte at eksperimentere med nye moderne måder at indkode små mængder information i et grafisk billede. QR-koden er blevet en af ​​de mest brugte typer 2D-kode i verden. [11] QR-kodespecifikationen beskriver ikke dataformatet .

I modsætning til den gamle stregkode, som scannes med en tynd stråle, registreres en QR-kode af en sensor eller kamera som et todimensionelt billede. De tre firkanter i hjørnerne af billedet og de mindre timing-firkanter i hele koden normaliserer billedstørrelsen og orienteringen, såvel som den vinkel, som sensoren er placeret i i forhold til billedoverfladen. Point konverteres til binære tal med kontrolsum verifikation .

Den største fordel ved en QR-kode er dens nemme genkendelse ved hjælp af scanningsudstyr , som gør det muligt at bruge den i handel , produktion og logistik .

Selvom "QR-kode"-betegnelsen er et registreret varemærke tilhørende DENSO Corporation, er brugen af ​​koderne ikke underlagt nogen royalties , og de er selv beskrevet og offentliggjort som ISO-standarder.

De mest populære QR-kodefremvisere understøtter følgende dataformater: URL , browserbogmærke , e- mail (med emnelinje), SMS til nummer (med emnelinje), MeCard, vCard , geografiske koordinater , Wi-Fi- netværksforbindelse .

Nogle programmer kan også genkende GIF- , JPG- , PNG- eller MID- filer på mindre end 4 KB og chiffertekst , men disse formater har ikke vundet popularitet. [13]

Ansøgning

QR-koder er mest almindelige i Japan. Allerede i begyndelsen af ​​2000 blev QR-koder så udbredt i landet, at de kunne findes på en lang række plakater, pakker og varer, hvor sådanne koder er påført næsten alle varer, der sælges i butikker, de er placeret i annoncehæfter og opslagsværker. Ved hjælp af en QR-kode organiserer de endda forskellige konkurrencer og rollespil . Førende japanske mobiloperatører frigiver i fællesskab mobiltelefoner under deres varemærke med indbygget understøttelse af QR-kodegenkendelse [14] .

På nuværende tidspunkt er QR-koden også meget udbredt i asiatiske lande, der gradvist udvikler sig i Europa og Nordamerika. Han modtog den største anerkendelse blandt mobilkommunikationsbrugere - ved at installere et genkendelsesprogram kan abonnenten øjeblikkeligt indtaste tekstoplysninger i sin telefon, oprette forbindelse til et Wi-Fi-netværk , sende breve via e-mail , tilføje kontakter til adressebogen, følge weblinks, sende SMS-beskeder osv.

Ifølge en undersøgelse udført af comScore i 2011 brugte 20 millioner indbyggere i USA mobiltelefoner til at scanne QR-koder [15] .

I Japan, Østrig og Rusland bruges QR-koder også på kirkegårde og indeholder oplysninger om afdøde [16] [17] [18] .

I den kinesiske by Hefei blev der uddelt badges med QR-koder til de ældre, takket være hvilke forbipasserende kan hjælpe fortabte gamle mennesker med at vende hjem [19] .

QR-koder bruges aktivt af museer [20] , såvel som i turisme, både langs turistruter og ved forskellige genstande. Plader lavet af metal er mere holdbare og modstandsdygtige over for hærværk.

Brug af QR-koder til at bekræfte vaccinationer

Samtidig med starten på massevaccination mod COVID-19 i foråret 2021 begyndte næsten alle verdens lande at udstede vaccinationsdokumenter - digitale eller papircertifikater, hvorpå der var placeret QR-koder overalt. Den 9. november 2021 blev QR-koder til bekræftelse af vaccination eller tidligere sygdom ( COVID-19 ) indført i 77 konstituerende enheder i Den Russiske Føderation (i nogle af dem blev starten af ​​QR-koder forsinket for at give befolkningen mulighed for at få vaccineret). I Tatarstan har indførelsen af ​​QR-koder ført til menneskemængder ved metroindgange og adskillige konflikter mellem passagerer og offentlig transportledere [21] .

Generel teknisk information

Den mindste QR-kode (version 1) har en størrelse på 21×21 pixels (eksklusive margener), den største (version 40) er 177×177 pixels. Forbindelsen mellem versionsnummeret og antallet af moduler er enkel - QR-koden for den næste version er større end den forrige med strengt taget 4 moduler vandret og lodret.

Der er fire hovedkodninger af QR-koder:

Der er også "pseudo-kodninger": specificering af, hvordan dataene kodes, opdeling af en lang besked i flere koder osv.

For at rette fejl bruges Reed-Solomon-koden med et 8-bit kodeord. Der er fire niveauer af redundans: 7, 15, 25 og 30 %. Takket være fejlretning er det muligt at sætte et billede på en QR-kode og stadig lade det læses.

For at der ikke er elementer i koden, der kan forvirre scanneren, tilføjes dataområdet modulo 2 med en speciel maske. En korrekt fungerende indkoder skal prøve alle maskemulighederne, beregne strafpointene for hver i henhold til særlige regler og vælge den mest succesfulde.

Micro QR

Separat er der en mikro QR-kode med en kapacitet på op til 35 cifre.

Datalagringseffektiviteten sammenlignet med den traditionelle QR-kode er væsentligt forbedret ved kun at bruge ét positioneringstag sammenlignet med tre tags i en konventionel QR-kode. På grund af dette frigøres en vis plads, som kan bruges til data. Derudover kræver en QR-kode en fri margen omkring koden, der er mindst 4 moduler bred (minimumskonstruktionsenheden for en QR-kode), mens en Micro QR-kode kræver en margen på to moduler bred. På grund af den større effektivitet af datalagring øges størrelsen af ​​Micro QR-koden ikke så meget med stigningen i mængden af ​​kodede data sammenlignet med den traditionelle QR-kode.

Analogt med fejlkorrektionsniveauer i QR-koder, kommer Micro QR-kode i fire versioner, M1-M4 [22] [23] .

Kode version Antal moduler Fejlkorrektionsniveau Tal Tal og bogstaver Binære data Kanji
M1 elleve - 5 - - -
M2 13 L (7 %) ti 6 - -
M (15 %) otte 5 - -
M3 femten L (7 %) 23 fjorten 9 6
M (15 %) atten elleve 7 fire
M4 17 L (7 %) 35 21 femten 9
M (15 %) tredive atten 13 otte
Q (25 %) 21 13 9 5

Datakodning

Der er flere måder at indkode information i en QR-kode, og valget af en specifik metode afhænger af, hvilke symboler der bruges. Hvis der kun bruges tal fra 0 til 9, så kan numerisk kodning bruges, hvis det udover tal er nødvendigt at kryptere bogstaver i det latinske alfabet, mellemrum og symboler $%*+-./:, anvendes alfanumerisk kodning. Der er også kanji-kodning, som bruges til at kryptere kinesiske og japanske tegn, og byte-kodning. Før hver indkodningsmetode oprettes en tom bitsekvens, som derefter udfyldes.

Digital kodning

Denne type kodning kræver 10 bits pr. 3 tegn. Hele sekvensen af ​​tegn er opdelt i grupper på 3 cifre, og hver gruppe (trecifret tal) oversættes til et 10-bit binært tal og tilføjes til bitsekvensen. Hvis det samlede antal tegn ikke er et multiplum af 3, så hvis 2 tegn er tilbage i slutningen, kodes det resulterende tocifrede tal med 7 bit, og hvis 1 tegn, så med 4 bit.

For eksempel er der en streng "12345678", der skal kodes. Sekvensen er opdelt i tal: 123, 456 og 78, derefter konverteres hvert tal til binær form: 0001111011, 0111001000 og 1001110, og kombineres til én bitstrøm: 000111101101110010101.

Alfanumerisk kodning

I modsætning til digital kodning kræves der 11 bit information for at kode 2 tegn. Sekvensen af ​​tegn er opdelt i grupper af 2, i gruppen er hvert tegn kodet i henhold til tabellen "Tegnværdier i alfanumerisk kodning". Værdien af ​​det første tegn multipliceres med 45, derefter tilføjes værdien af ​​det andet tegn til dette produkt. Det resulterende tal konverteres til et 11-bit binært tal og tilføjes til bitsekvensen. Hvis der er et tegn tilbage i den sidste gruppe, er dets værdi kodet som et 6-bit tal. Overvej et eksempel: "BEVIS". Vi opdeler sekvensen af ​​tegn i grupper: PR , OO , F . Vi finder de tilsvarende værdier for symbolerne for hver gruppe (se tabellen): PR  - (25.27), OO  - (24.24), F  - (15). Find værdierne for hver gruppe: 25 × 45 + 27 = 1152, 24 × 45 + 24 = 1104, 15 = 15. Konverter hver værdi til binær: 1152 = 10010000000, 1104 = 1000101000, 1000101000, 1,0100, 1,0100, 1. sekvens: 1001000000010001010000001111.

Byte-kodning

Ethvert tegn kan kodes på denne måde. Indgangstegnstrømmen kodes i en hvilken som helst kodning (anbefales i UTF-8 ), og konverteres derefter til binær form, hvorefter den kombineres til en enkelt bitstrøm.

For eksempel er ordet "World" kodet i Unicode (HEX) i UTF-8 : M - D09C; og - DOB8; p - D180. Vi oversætter hver værdi til det binære system: D0 = 11010000, 9C = 10011100, D0 = 11010000, B8 = 10111000, D1 = 11010001 og 80 = 10000000; kombinere til én bitstrøm: 11010000 10011100 11010000 10111000 11010001 10000000.

Kanji

Kodningen af ​​hieroglyffer (såvel som andre symboler) er baseret på en visuelt opfattet tabel eller liste over billeder af hieroglyffer med deres koder. Sådan en tabel kaldes et "karaktersæt". For japansk er to tegntabeller af primær betydning: JIS 0208:1997 og JIS 0212:1990. Den anden af ​​dem fungerer som et supplement til den første. JIS 0208:1997 er opdelt i 94 sider med 94 tegn. For eksempel er side 4 hiragana, side 5 er katakana, 7 er kyrillisk, 16-43 er kanji på niveau 1, og 48-83 er kanji på niveau 2. Niveau 1 kanji ("JIS daiichi suijun kanji") er sorteret efter onm. Niveau 2 kanji ("JIS daini suijun kanji") er ordnet efter nøgle, og inden for dem efter antallet af slag.

Tilføjelse af serviceoplysninger

Efter bestemmelse af kodeversion og kodning er det nødvendigt at bestemme niveauet for fejlkorrektion. Tabellen viser de maksimale værdier for korrektionsniveauer for forskellige versioner af QR-koden. For at rette fejl bruges Reed-Solomon-koden med et 8-bit kodeord.

Bord. Den maksimale mængde information.
Række — korrektionsniveau, kolonne — versionsnummer.

en 2 3 fire 5 6 7 otte 9 ti elleve 12 13 fjorten femten 16 17 atten 19 tyve
L 152 272 440 640 864 1088 1248 1552 1856 2192 2592 2960 3424 3688 4184 4712 5176 5768 6360 6888
M 128 224 352 512 688 864 992 1232 1456 1728 2032 2320 2672 2920 3320 3624 4056 4504 5016 5352
Q 104 176 272 384 496 608 704 880 1056 1232 1440 1648 1952 2088 2360 2600 2936 3176 3560 3880
H 72 128 208 288 368 480 528 688 800 976 1120 1264 1440 1576 1784 2024 2264 2504 2728 3080
21 22 23 24 25 26 27 28 29 tredive 31 32 33 34 35 36 37 38 39 40
L 7456 8048 8752 9392 10208 10960 11744 12248 13048 13880 14744 15640 16568 17528 18448 19472 20528 21616 22496 23648
M 5712 6256 6880 7312 8000 8496 9024 9544 10136 10984 11640 12328 13048 13800 14496 15312 15936 16816 17728 18672
Q 4096 4544 4912 5312 5744 6032 6464 6968 7288 7880 8264 8920 9368 9848 10288 10832 11408 12016 12656 13328
H 3248 3536 3712 4112 4304 4768 5024 5288 5608 5960 6344 6760 7208 7688 7888 8432 8768 9136 9776 10208

Efter bestemmelse af fejlkorrektionsniveauet er det nødvendigt at tilføje servicefelter, de skrives før bitsekvensen opnået efter kodningsstadiet. De angiver indkodningsmetoden og mængden af ​​data. Værdien af ​​indkodningsmetodefeltet består af 4 bit, det ændrer sig ikke, men fungerer som et tegn, der angiver, hvilken indkodningsmetode der anvendes. Det har følgende betydninger:

Eksempel:

Det tidligere byte-kodningseksempel kodede ordet "World", hvilket resulterede i følgende binære kodesekvens:

11010000 10011100 11010000 10111000 11010001 10000000 indeholdende 48 bit information.

Lad niveauet af fejlkorrektion H være påkrævet, hvilket gør det muligt at genskabe 30 % af den tabte information. Ifølge tabellen vælges den optimale version af QR-koden fra den maksimale mængde information (i dette tilfælde version 1, som tillader kodning af 72 bits nyttig information på fejlkorrektionsniveau H).

Oplysninger om indkodningsmetoden: felt 0100 svarer til byte-kodningen.

Angivelse af mængden af ​​data (for numerisk og alfanumerisk kodning - antallet af tegn, for byte-kodning - antallet af bytes): denne sekvens indeholder 6 bytes data (i binært: 110).

Ifølge tabellen bestemmes den nødvendige længde af det binære tal - 8 bit. De manglende nuller tilføjes: 00000110.

Version 1-9 Version 10-26 Version 27-40
Digital 10 bit 12 bit 14 bit
Alfanumerisk 9 bit 11 bit 13 bit
Byte 8 bit 16 bit 16 bit

Al information skrives i rækkefølgen <encoding method> <datamængde> <data>, hvilket resulterer i en sekvens af bit:

0100 00000110 11010000 10011100 11010000 10111000 11010001 10000000.

Blokering

Sekvensen af ​​bytes er opdelt i antallet af blokke defineret for version og korrektionsniveau, som er angivet i "Antal blokke"-tabellen. Hvis antallet af blokke er lig med én, kan dette trin springes over. Og når versionen opgraderes, tilføjes specielle blokke.

Først bestemmes antallet af bytes (data) i hver af blokkene. For at gøre dette skal du dividere hele antallet af bytes med antallet af datablokke. Hvis dette tal ikke er et heltal, skal du bestemme resten af ​​divisionen. Denne rest bestemmer, hvor mange blokke ud af alle er polstret (sådanne blokke, hvor antallet af bytes er én mere end i resten). Mod forventning skal de polstrede blokke ikke være de første blokke, men de sidste. Så kommer den sekventielle fyldning af blokke.

Eksempel: for version 9 og korrektionsniveau M er mængden af ​​data 182 bytes, antallet af blokke er 5. Dividerer man antallet af databytes med antallet af blokke, får vi 36 bytes og 2 bytes i resten. Det betyder, at datablokkene vil have følgende størrelser: 36, 36, 36, 37, 37 (bytes). Hvis der ikke var nogen rest, ville alle 5 blokke have en størrelse på 36 bytes.

Blokken er fuldstændig fyldt med bytes fra dataene. Når den aktuelle blok er fuld, flyttes køen til den næste. Bytes af data bør være nok nøjagtigt til alle blokke, hverken mere eller mindre.

Oprettelse af korrektionsbytes

Processen er baseret på Reed-Solomon- algoritmen . Det skal anvendes på hver blok af informationer i QR-koden. Først bestemmes antallet af korrektionsbytes, der skal oprettes, og derefter, baseret på disse data, oprettes et generationspolynomium. Antallet af korrektionsbytes pr. blok bestemmes af den valgte kodeversion og fejlkorrektionsniveau (angivet i tabellen).

Bord. Antal korrektionsbytes pr. blok
Række — korrektionsniveau, kolonne — versionsnummer.
en 2 3 fire 5 6 7 otte 9 ti elleve 12 13 fjorten femten 16 17 atten 19 tyve 21 22 23 24 25 26 27 28 29 tredive 31 32 33 34 35 36 37 38 39 40
L 7 ti femten tyve 26 atten tyve 24 tredive atten tyve 24 26 tredive 22 24 28 tredive 28 28 28 28 tredive tredive 26 28 tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive
M ti 16 26 atten 24 16 atten 22 22 26 tredive 22 22 24 24 28 28 26 26 26 26 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
Q 13 22 atten 26 atten 24 atten 22 tyve 24 28 26 24 tyve tredive 24 28 28 26 tredive 28 tredive tredive tredive tredive 28 tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive
H 17 28 22 16 22 28 26 26 24 28 24 28 22 24 24 tredive 28 28 26 28 tredive 24 tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive tredive

Det genererende polynomium bestemmes af antallet af korrektionsbytes (angivet i tabellen).


Bord. Generering af polynomier.
Antal korrektionsbytes Generering af polynomium
7 87, 229, 146, 149, 238, 102, 21
ti 251, 67, 46, 61, 118, 70, 64, 94, 32, 45
13 74, 152, 176, 100, 86, 100, 106, 104, 130, 218, 206, 140, 78
femten 8, 183, 61, 91, 202, 37, 51, 58, 58, 237, 140, 124, 5, 99, 105
16 120, 104, 107, 109, 102, 161, 76, 3, 91, 191, 147, 169, 182, 194, 225, 120
17 43, 139, 206, 78, 43, 239, 123, 206, 214, 147, 24, 99, 150, 39, 243, 163, 136
atten 215, 234, 158, 94, 184, 97, 118, 170, 79, 187, 152, 148, 252, 179, 5, 98, 96, 153
tyve 17, 60, 79, 50, 61, 163, 26, 187, 202, 180, 221, 225, 83, 239, 156, 164, 212, 212, 188, 190
22 210, 171, 247, 242, 93, 230, 14, 109, 221, 53, 200, 74, 8, 172, 98, 80, 219, 134, 160, 105, 315,
24 229, 121, 135, 48, 211, 117, 251, 126, 159, 180, 169, 152, 192, 226, 228, 218, 111, 0, 117, 232, 2, 2, 2, 7
26 173, 125, 158, 2, 103, 182, 118, 17, 145, 201, 111, 28, 165, 53, 161, 21, 245, 142, 13. 70
28 168, 223, 200, 104, 224, 234, 108, 180, 110, 190, 195, 147, 205, 27, 232, 201, 21, 43, 245. 37, 9, 123
tredive 41, 173, 145, 152, 216, 31, 179, 182, 50, 48, 110, 86, 239, 96, 222, 125, 42, 173, 226. 216, 238, 40, 192, 180

Beregningen er foretaget baseret på værdierne af det indledende dataarray og værdierne af det genererende polynomium og for hvert trin i cyklussen separat.

Kombination af informationsblokke

På dette stadium er der to færdige blokke: indledende data og korrektionsblokke (fra det foregående trin), de skal kombineres til en bytestrøm. Til gengæld er det nødvendigt at tage en byte af information fra hver datablok, startende fra den første og slutter med den sidste. Når køen når den sidste blok, tages en byte fra den, og køen flytter til den første blok. Dette fortsætter, indtil hver blok løber tør for bytes. Der er undtagelser, når den aktuelle blok springes over, hvis der ikke er nogen bytes i den (en situation, hvor almindelige blokke allerede er tomme, og der stadig er én byte i de polstrede). Det samme gælder for blokke af korrektionsbytes. De tages i samme rækkefølge som de tilsvarende datablokke.

Resultatet er følgende datasekvens: <1. byte af 1. datablok><1. byte af 2. datablok>...<1. byte af n. datablok><2. byte af 1. blokdata>...<(m — 1. byte af den 1. datablok>…<(m — 1). byte af den n. datablok><m. byte af den k. datablok>...<m. byte af n. datablok><1. byte af 1. korrektionsbyte blok><1. byte af 2. korrektionsbyteblok>...<1. byte af n. korrektionsbyteblok><2. byte 1. korrektionsbyteblok>…<l-te byte af 1. korrektionsbyteblok>...<l-te byte af den n-te korrektionsbyteblok>.

Her er n antallet af datablokke, m er antallet af bytes pr. datablok for almindelige blokke, l er antallet af korrektionsbytes, k er antallet af datablokke minus antallet af polstrede datablokke (dem med 1 byte mere ).

Stadiet med at placere information i kodefeltet

Der er obligatoriske felter på QR-koden, de indeholder ikke kodede oplysninger, men indeholder oplysninger til afkodning. Det:

samt obligatorisk indrykning omkring koden . Polstringen er en ramme af hvide moduler, dens bredde er 4 moduler.

Søgemønstre  er 3 firkanter i hjørnerne undtagen nederst til højre. Bruges til at bestemme placeringen af ​​koden. De består af en 3x3 firkant af sorte moduler, rundt om en ramme af hvide moduler med en bredde på 1, så en anden ramme af sorte moduler, også med en bredde på 1, og et hegn fra resten af ​​koden - en halv ramme på hvide moduler med en bredde på 1. I alt har disse objekter en størrelse på 8×8 moduler.

Justeringsmønstre  - vises, startende fra den anden version, bruges til yderligere stabilisering af koden, mere nøjagtig placering af den under afkodning. De består af 1 sort modul, rundt om hvilket der er en ramme af hvide moduler med en bredde på 1, og så en anden ramme af sorte moduler, også med en bredde på 1. Den endelige størrelse af alignment-mønsteret er 5x5. Der er sådanne mønstre i forskellige positioner afhængigt af versionsnummeret. Justeringsmønstre kan ikke overlappe søgemønstre. Nedenfor er en tabel over placeringen af ​​det centrale sorte modul, tallene er angivet der - det er mulige koordinater, både vandret og lodret. Disse moduler står i skæringspunktet mellem sådanne koordinater. Nedtællingen er fra den øverste venstre knude, dens koordinater er (0,0).

en 2 3 fire 5 6 7 otte 9 ti elleve 12 13 fjorten femten 16 17 atten 19 tyve
- atten 22 26 tredive 34 6, 22, 38 6, 24, 42 6, 26, 46 6, 28, 50 6, 30, 54 6, 32, 58 6, 34, 62 6, 26, 46, 66 6, 26, 48, 70 6, 26, 50, 74 6, 30, 54, 78 6, 30, 56, 82 6, 30, 58, 86 6, 34, 62, 90
21 22 23 24 25 26 27 28 29 tredive 31 32 33 34 35 36 37 38 39 40
6, 28, 50, 72, 94 6, 26, 50, 74, 98 6, 30, 54, 78, 102 6, 28, 54, 80, 106 6, 32, 58, 84, 110 6, 30, 58, 86, 114 6, 34, 62, 90, 118 6, 26, 50, 74, 98, 122 6, 30, 54, 78, 102, 126 6, 26, 52, 78, 104, 130 6, 30, 56, 82, 108, 134 6, 34, 60, 86, 112, 138 6, 30, 58, 86, 114, 142 6, 34, 62, 90, 118, 146 6, 30, 54, 78, 102, 126, 150 6, 24, 50, 76, 102, 128, 154 6, 28, 54, 80, 106, 132, 158 6, 32, 58, 84, 110, 136, 162 6, 26, 54, 82, 110, 138, 166 6, 30, 58, 86, 114, 142, 170

Synkroniseringsbjælker  - bruges til at bestemme størrelsen på modulerne. De er placeret i et hjørne, man starter fra nederste venstre søgemønster (fra kanten af ​​den sorte ramme, men har krydset den hvide), går til øverste venstre, og derfra begynder den anden ifølge samme regel , den ender øverst til højre. Når det er lagt på nivelleringsmodulet, skal det forblive uændret. Synkroniseringsstriber ligner linjer af vekslende sorte og hvide moduler.

Masken og korrektionsniveaukoden  er placeret ved siden af ​​søgemønstrene: under øverste højre (8 moduler) og til højre for nederste venstre (7 moduler), og er duplikeret på siderne af øverste venstre, med et mellemrum på den 7. celle - hvor synkroniseringsbåndene går, desuden den vandrette kode ind i den lodrette del, og den vertikale kode ind i den vandrette.

Versionskode  - nødvendig for at bestemme versionen af ​​koden. De er placeret til venstre for øverst til højre og over nederst til venstre og er duplikeret. De er duplikeret på denne måde - spejlkopien af ​​den øverste kode roteres 90 grader mod uret. Nedenfor er en tabel med koder, 1 - sort modul, 0 - hvid.

Version 7 otte 9 ti elleve 12 13 fjorten femten 16 17 atten 19 tyve 21 22 23
Versionskode 000010 011110 100110 010001 011100 111000 110111 011000 000100 101001 111110 000000 001111 111010 111100 001101 100100 011010 101011 100000 100110 110101 000110 100010 010011 000010 011110 011100 010001 011100 111010 010101 100000 100100 110011 100100 000010 110111 011000 000000 101001 111110 100110 101101 000010 111000 001011 000110 011110 001111 111010
24 25 26 27 28 29 tredive 31 32 33 34 35 36 37 38 39 40
001101 001101 100100 101011 001001 011000 110101 101111 011100 010011 101011 100000 010001 110101 000110 110111 110001 111010 101001 010111 111110 001111 010011 000010 101000 011000 101101 001110 011100 010001 010000 111010 010101 110110 111110 101001 110100 100000 001111 010010 100100 110011 001100 000010 110111 101010 000110 001011 111001 000100 010101

Indtastning af data

Den resterende ledige plads er opdelt i kolonner 2 moduler brede, og information indtastes der, og de gør det med en "slange". Først indtastes den første informationsbit i den nederste højre firkant, derefter i dens venstre nabo, derefter i den, der var over den første, og så videre. Kolonner udfyldes fra bund til top og derefter fra top til bund osv., og langs kanterne fyldes bits fra den yderste del af en kolonne til den yderste del af den tilstødende søjle, som sætter "slangen" på søjler med en nedadgående retning. Hvis informationen ikke er nok, efterlades felterne blot tomme (hvide moduler). I dette tilfælde påføres en maske på hvert modul.

Se også

Noter

  1. Orddannelsesspecialist M. A. Osadchiy foreslår at bruge udtrykket "grafisk kode" som en russisksproget ækvivalent [2] .
  1. QR-koder på Kinas togbilletter kan lække personlige oplysninger . Arkiveret fra originalen den 12. december 2013. Hentet 16. marts 2013.
  2. 1 2 Pushkin Institute foreslog at omdøbe QR-koden Arkivkopi dateret 10. februar 2022 på Wayback Machine // Radio Sputnik , 02/10/2022
  3. Historien om QR-koden Denne teknologi blev opfundet af en japansk ingeniør, mens han spillede Go at work . Hentet 8. november 2021. Arkiveret fra originalen 8. november 2021.
  4. QR-  kodefunktioner . Denso Wave. Hentet 27. august 2017. Arkiveret fra originalen 29. januar 2013.
  5. 1 2 QR Code Essentials  (engelsk)  (link ikke tilgængeligt) . Denso ADC (2011). Hentet 28. august 2017. Arkiveret fra originalen 12. maj 2013.
  6. Borko Furht. Håndbog i Augmented Reality . - Springer, 2011. - S. 341. - ISBN 9781461400646 .
  7. 1 2 ヒント は 休憩 の の 囲碁 囲碁 だっ た た 『『 qr コード 』開発 生み の 親 明かす「 特許 オープン に し た 」ワケ ワケテレビ放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 放送 (29. november 2019) . Arkiveret 30. september 2020. Hentet 29. november 2019.
  8. NHKビジネス特集 「QRコード」生みの親に聞いてみた Arkiveret 20. maj 2019 på Wayback Machine 2019え2019.
  9. 2D-stregkoder . NHK World-Japan (26. marts 2020). Hentet 24. april 2020. Arkiveret fra originalen 7. april 2020.
  10. Denso-Wave hjemmeside . Hentet 18. september 2012. Arkiveret fra originalen 16. oktober 2012.
  11. QR-kode – Om 2D-kode (downlink) . Denso Wave. Hentet 27. maj 2016. Arkiveret fra originalen 5. juni 2016. 
  12. "Eugene Onegin" - nu også i QR-koden (utilgængeligt link) . Hentet 23. november 2020. Arkiveret fra originalen 27. november 2020. 
  13. QR-koders popularitet . Hentet 8. januar 2022. Arkiveret fra originalen 8. januar 2022.
  14. QR-kode: brug . Hentet 14. marts 2010. Arkiveret fra originalen 6. juni 2014.
  15. Leonid Bugaev. 2012, side 167
  16. QR-koder på kirkegårde . Hentet 24. april 2020. Arkiveret fra originalen 15. maj 2021.
  17. QR-koder på kirkegårde (utilgængeligt link) . Hentet 24. oktober 2012. Arkiveret fra originalen 6. juni 2014. 
  18. Yury Nikulins barnebarn taler om et interaktivt mindesmærke (utilgængeligt link) . Digital Heritage (21. august 2017). Hentet 27. august 2017. Arkiveret fra originalen 23. august 2017. 
  19. Badges med QR-koder for at finde vej hjem . Hentet 15. oktober 2014. Arkiveret fra originalen 19. november 2014.
  20. Annonce for Museumsdagen 2012 . Hentet 2. marts 2012. Arkiveret fra originalen 24. april 2014.
  21. Hvad vides om lovforslaget om indførelse af QR-koder på offentlige steder Arkiveksemplar dateret 20. december 2021 på Wayback Machine // TASS , 16.12.2021.
  22. Mikro QR-kodebeskrivelse | QR-koder af ny generation . qrcc.ru. Hentet 9. juni 2018. Arkiveret fra originalen 12. juni 2018.
  23. Mikro QR-kode | qrcode.com |  DENSO BØLGE . www.qrcode.com Hentet 31. maj 2019. Arkiveret fra originalen 31. maj 2019.

Litteratur

Links