Mga encoding mode

Tinatawag ding: mga data mode, numeric mode, alphanumeric mode, byte mode, kanji mode, encoding modes

Depinisyon

Ang mga encoding mode ay ang mga paraan ng QR code sa pag-pack ng mga character sa mga bit. Ang apat na pangunahing mode ay numeric, alphanumeric, byte at kanji, at puwedeng magpalit-palit ng mode ang iisang code.

Ang apat na pangunahing mode

Bawat mode ay nagpapalit ng saklaw ng character para sa siksik. Digit lang ang kaya ng numeric mode pero tatlo ang naisisiksik nito sa 10 bit, samantalang ang byte mode ay kaya ang anumang byte pero 8 bit ang ginugugol sa bawat isa.

Sakop ng alphanumeric mode ang set na 45 character: ang mga digit 0–9, ang mga malalaking titik A–Z, ang espasyo at ang mga simbolong $ % * + - . / at colon. Wala sa set ang maliliit na titik, kaya ang URL na pawang malalaking titik ay puwedeng gumawa ng mas maliit na code kaysa sa parehong URL na maliliit na titik.

  • Numeric: mga digit 0–9, 10 bit bawat 3 digit
  • Alphanumeric: 45 character, 11 bit bawat 2 character
  • Byte: anumang 8-bit na halaga, 8 bit bawat byte
  • Kanji: mga double-byte na character ng Shift JIS, 13 bit bawat isa

Mga mode indicator at segment

Ang bawat sunud-sunod na data ay nagsisimula sa 4-bit na mode indicator at bilang ng character, na ang haba ay nakadepende sa mode at bersyon. Ang code ay puwedeng maglaman ng ilang ganitong segment, halimbawa numeric para sa mahabang hanay ng mga digit at byte para sa iba pa, na maaaring magpaliit sa resulta.

Ang ibang 4-bit na indicator ay hudyat ng mga tampok sa halip na mga character set: ECI para magdeklara ng character encoding, structured append para hatiin ang data sa mga code, at FNC1 para sa GS1 at iba pang format ng data ng industriya. Tinatapos ng terminator na apat na zero bit ang data.

  • Numeric 0001, alphanumeric 0010, byte 0100, kanji 1000
  • ECI 0111, structured append 0011
  • FNC1 unang posisyon 0101, ikalawang posisyon 1001
  • Terminator 0000

Byte mode at mga character set

Ang default na pagpapakahulugan ng pamantayan sa byte mode ay ISO-8859-1 (Latin-1), pero karamihan ng mga generator ngayon ay sumusulat ng UTF-8 para manatili ang mga letrang may tuldik, ibang script at emoji. Karaniwang natutukoy ng mga reader ang UTF-8 sa pagsusuri sa mga byte.

Kung kailangang malinaw ang character set, puwedeng tahasang ideklara ito ng ECI header. Kapag wala, paminsan-minsang maaaring mali ang hulaan ng reader at magpakita ng magulong mga character.

Mga madalas itanong

Bakit mas malaki ang QR code ko kapag maliliit na titik?

Wala sa alphanumeric set ang maliliit na titik, kaya kailangang gumamit ng byte mode ang teksto sa 8 bit bawat character sa halip na 5.5. Mas siksik ang pagkaka-pack ng mga malalaking titik, digit at ilang simbolo.

Puwede bang mag-imbak ang QR code ng emoji o tekstong hindi Latin?

Oo, sa byte mode gamit ang UTF-8, na sinusuportahan ng karamihan ng generator at reader ng telepono. Maraming byte ang bawat ganoong character, kaya bumababa ang kapasidad.

Puwede bang paghaluin sa iisang QR code ang numeric at tekstong data?

Oo. Puwedeng hatiin ang data sa mga segment, na bawat isa ay may sariling mode, at pinipili ng mahuhusay na encoder ang hating nagbibigay ng pinakamaliit na code.

Mga pinagmulan at pamantayan

Lahat ng termino