Kodavimo režimai

Dar vadinama: duomenų režimai, skaitinis režimas, raidinis ir skaitinis režimas, baitų režimas, kandži režimas

Apibrėžimas

Kodavimo režimai yra būdai, kuriais QR kodas supakuoja simbolius į bitus. Keturi pagrindiniai režimai: skaitinis, raidinis ir skaitinis, baitų ir kandži, o vienas kodas gali perjungti režimus.

Peržiūrėjo AriaQR komanda ·

Kodavimo režimai

Keturi pagrindiniai režimai

Kiekvienas režimas keičia simbolių įvairovę į tankį. Skaitinis režimas tvarko tik skaitmenis, bet tris iš jų supakuoja į 10 bitų, o baitų režimas tvarko bet kurį baitą, bet kiekvienam skiria 8 bitus.

Raidinis ir skaitinis režimas apima 45 simbolių rinkinį: skaitmenis 0–9, didžiąsias raides A–Z, tarpą ir simbolius $ % * + - . / bei dvitaškį. Mažųjų raidžių rinkinyje nėra, todėl visas didžiosiomis raidėmis parašytas URL gali sukurti mažesnį kodą nei tas pats URL mažosiomis.

Kodavimo režimai (2)
  • Skaitinis: skaitmenys 0–9, 10 bitų 3 skaitmenims
  • Raidinis ir skaitinis: 45 simboliai, 11 bitų 2 simboliams
  • Baitų: bet kuri 8 bitų reikšmė, 8 bitai baitui
  • Kandži: Shift JIS dviejų baitų simboliai, po 13 bitų

Režimo indikatoriai ir segmentai

Kiekviena duomenų atkarpa prasideda 4 bitų režimo indikatoriumi ir simbolių skaičiumi, kurio ilgis priklauso nuo režimo ir versijos. Kode gali būti keli tokie segmentai, pavyzdžiui, skaitinis ilgai skaitmenų eilei ir baitų likusiai daliai, todėl rezultatas gali būti mažesnis.

Kiti 4 bitų indikatoriai žymi funkcijas, o ne simbolių rinkinius: ECI – simbolių kodavimui deklaruoti, structured append – duomenims padalyti per kelis kodus, FNC1 – GS1 ir kitiems pramonės duomenų formatams. Duomenis baigia keturių nulinių bitų terminatorius.

  • Skaitinis 0001, raidinis ir skaitinis 0010, baitų 0100, kandži 1000
  • ECI 0111, structured append 0011
  • FNC1 pirma pozicija 0101, antra pozicija 1001
  • Terminatorius 0000

Baitų režimas ir simbolių rinkiniai

Standartinis numatytasis baitų režimo aiškinimas yra ISO-8859-1 (Latin-1), tačiau dauguma šiandienos generatorių rašo UTF-8, kad išliktų diakritinės raidės, kiti rašmenys ir jaustukai. Skaitytuvai UTF-8 paprastai aptinka patikrinę baitus.

Kur simbolių rinkinys turi būti nedviprasmiškas, ECI antraštė gali jį deklaruoti aiškiai. Be jos skaitytuvas kartais gali atspėti neteisingai ir parodyti iškraipytus simbolius.

Dažnai užduodami klausimai

Kodėl mano QR kodas didesnis su mažosiomis raidėmis?

Mažųjų raidžių nėra raidiniame ir skaitiniame rinkinyje, todėl tekstui reikia baitų režimo po 8 bitus simboliui vietoj 5,5. Didžiosios raidės, skaitmenys ir keli simboliai pakuojami tankiau.

Ar QR kodas gali saugoti jaustukus ar ne lotynišką tekstą?

Taip, baitų režimu naudojant UTF-8, kurį palaiko dauguma generatorių ir telefonų skaitytuvų. Kiekvienas toks simbolis užima kelis baitus, todėl talpa mažėja.

Ar vienas QR kodas gali maišyti skaitinius ir tekstinius duomenis?

Taip. Duomenis galima skaidyti į segmentus, kurių kiekvienas turi savo režimą, o geri kodavimo įrankiai parenka padalijimą, kuris duoda mažiausią kodą.

Šaltiniai ir standartai

Visi terminai