Kodlama modları

Diğer adları: veri modları, sayısal mod, alfanümerik mod, bayt modu, kanji modu, encoding modes

Tanım

Kodlama modları, bir QR kodun karakterleri bitlere paketleme yollarıdır. Dört ana mod sayısal, alfanümerik, bayt ve kanjidir; tek bir kod bunlar arasında geçiş yapabilir.

Dört ana mod

Her mod, karakter aralığından yoğunluk için taviz verir. Sayısal mod yalnızca rakamları işler ama üçünü 10 bite paketler; bayt modu ise her baytı işler ama her birine 8 bit harcar.

Alfanümerik mod 45 karakterlik bir kümeyi kapsar: 0–9 rakamları, A–Z büyük harfleri, boşluk ve $ % * + - . / simgeleri ile iki nokta. Küçük harfler kümede yoktur; bu yüzden tamamı büyük harfli bir URL, aynı URL'nin küçük harfli halinden daha küçük bir kod verebilir.

  • Sayısal: 0–9 rakamları, 3 rakam için 10 bit
  • Alfanümerik: 45 karakter, 2 karakter için 11 bit
  • Bayt: herhangi bir 8 bitlik değer, bayt başına 8 bit
  • Kanji: Shift JIS çift baytlı karakterler, her biri 13 bit

Mod göstergeleri ve segmentler

Her veri dizisi, 4 bitlik bir mod göstergesi ve uzunluğu moda ve sürüme bağlı bir karakter sayısıyla başlar. Bir kod, birkaç böyle segment içerebilir; örneğin uzun bir rakam dizisi için sayısal, geri kalanı için bayt; bu da sonucu küçültebilir.

Diğer 4 bitlik göstergeler karakter kümelerini değil özellikleri işaretler: karakter kodlamasını bildirmek için ECI, veriyi kodlar arasında bölmek için structured append ve GS1 ile diğer sektör veri biçimleri için FNC1. Dört sıfır bitlik bir sonlandırıcı veriyi bitirir.

  • Sayısal 0001, alfanümerik 0010, bayt 0100, kanji 1000
  • ECI 0111, structured append 0011
  • FNC1 birinci konum 0101, ikinci konum 1001
  • Sonlandırıcı 0000

Bayt modu ve karakter kümeleri

Standardın bayt moduna varsayılan yorumu ISO-8859-1'dir (Latin-1); ama bugün çoğu üretici, aksanlı harflerin, diğer yazı sistemlerinin ve emojilerin korunması için UTF-8 yazar. Okuyucular genellikle UTF-8'i baytlara bakarak algılar.

Karakter kümesinin belirsiz olmaması gereken yerlerde bir ECI başlığı bunu açıkça bildirebilir. Başlık yoksa okuyucu ara sıra yanlış tahmin edip bozuk karakterler gösterebilir.

Sık sorulan sorular

QR kodum küçük harflerle neden daha büyük?

Küçük harfler alfanümerik kümede yok; bu yüzden metin, karakter başına 5,5 bit yerine 8 bitle bayt modunu kullanmak zorunda kalır. Büyük harfler, rakamlar ve birkaç simge daha sıkı paketlenir.

QR kod emoji veya Latin olmayan metin saklayabilir mi?

Evet; çoğu üretici ve telefon okuyucusunun desteklediği UTF-8 ile bayt modunda. Böyle her karakter birkaç bayt tuttuğu için kapasite düşer.

Bir QR kod sayısal ve metin verisini karıştırabilir mi?

Evet. Veri, her biri kendi moduna sahip segmentlere bölünebilir ve iyi kodlayıcılar en küçük kodu veren bölünmeyi seçer.

Kaynaklar ve standartlar

Tüm terimler