Kodēšanas režīmi

Citi nosaukumi: datu režīmi, ciparu režīms, burtciparu režīms, baitu režīms, kanji režīms

Definīcija

Kodēšanas režīmi ir veidi, kā QR kods iepako rakstzīmes bitos. Četri galvenie režīmi ir ciparu, burtciparu, baitu un kanji, un viens kods var pārslēgties starp tiem.

Pārskatījusi AriaQR komanda ·

Kodēšanas režīmi

Četri galvenie režīmi

Katrs režīms maina rakstzīmju klāstu pret blīvumu. Ciparu režīms apstrādā tikai ciparus, bet iepako trīs no tiem 10 bitos, kamēr baitu režīms apstrādā jebkuru baitu, bet katram tērē 8 bitus.

Burtciparu režīms aptver 45 rakstzīmju kopu: ciparus 0–9, lielos burtus A–Z, atstarpi un simbolus $ % * + - . / un kolu. Mazie burti kopā nav iekļauti, tāpēc URL tikai ar lielajiem burtiem var dot mazāku kodu nekā tas pats URL ar maziem burtiem.

Kodēšanas režīmi (2)
  • Ciparu: cipari 0–9, 10 biti uz 3 cipariem
  • Burtciparu: 45 rakstzīmes, 11 biti uz 2 rakstzīmēm
  • Baitu: jebkura 8 bitu vērtība, 8 biti uz baitu
  • Kanji: Shift JIS divbaitu rakstzīmes, katra 13 biti

Režīma indikatori un segmenti

Katrs datu posms sākas ar 4 bitu režīma indikatoru un rakstzīmju skaitu, kura garums ir atkarīgs no režīma un versijas. Kods var saturēt vairākus šādus segmentus, piemēram, ciparu režīmu garai ciparu virknei un baitu režīmu pārējam, kas var padarīt rezultātu mazāku.

Citi 4 bitu indikatori norāda funkcijas, nevis rakstzīmju kopas: ECI rakstzīmju kodējuma deklarēšanai, strukturētā pievienošana datu sadalīšanai pa kodiem un FNC1 GS1 un citiem nozares datu formātiem. Datus beidz četru nulles bitu terminators.

  • Ciparu 0001, burtciparu 0010, baitu 0100, kanji 1000
  • ECI 0111, strukturētā pievienošana 0011
  • FNC1 pirmā pozīcija 0101, otrā pozīcija 1001
  • Terminators 0000

Baitu režīms un rakstzīmju kopas

Standarta noklusējuma baitu režīma interpretācija ir ISO-8859-1 (Latin-1), taču lielākā daļa ģeneratoru mūsdienās raksta UTF-8, lai saglabātu burtus ar diakritiskajām zīmēm, citas rakstības un emocijzīmes. Lasītāji UTF-8 parasti nosaka, pārbaudot baitus.

Ja rakstzīmju kopai jābūt viennozīmīgai, to var skaidri deklarēt ar ECI galveni. Bez tās lasītājs reizēm var kļūdaini uzminēt un parādīt sagrozītas rakstzīmes.

Biežāk uzdotie jautājumi

Kāpēc mans QR kods ir lielāks ar maziem burtiem?

Mazie burti nav burtciparu kopā, tāpēc tekstam jāizmanto baitu režīms ar 8 bitiem uz rakstzīmi, nevis 5,5. Lielie burti, cipari un daži simboli iepakojas blīvāk.

Vai QR kods var glabāt emocijzīmes vai nelatīņu tekstu?

Jā, baitu režīmā ar UTF-8, ko atbalsta lielākā daļa ģeneratoru un tālruņu lasītāju. Katra šāda rakstzīme aizņem vairākus baitus, tāpēc ietilpība samazinās.

Vai viens QR kods var jaukt ciparu un teksta datus?

Jā. Datus var sadalīt segmentos, katram ar savu režīmu, un labi kodētāji izvēlas sadalījumu, kas dod mazāko kodu.

Avoti un standarti

Visi termini