Mod pengekodan

Juga dipanggil: encoding modes, mod data, mod angka, mod abjad angka, mod bait, mod kanji

Takrifan

Mod pengekodan ialah cara kod QR memadatkan aksara kepada bit. Empat mod utama ialah angka, abjad angka, bait dan kanji, dan satu kod boleh bertukar antara kesemuanya.

Empat mod utama

Setiap mod menukar julat aksara dengan kepadatan. Mod angka hanya mengendalikan digit tetapi memadatkan tiga digit ke dalam 10 bit, manakala mod bait mengendalikan sebarang bait tetapi menggunakan 8 bit bagi setiap satu.

Mod abjad angka meliputi set 45 aksara: digit 0–9, huruf besar A–Z, ruang dan simbol $ % * + - . / serta titik bertindih. Huruf kecil tiada dalam set itu, itulah sebabnya URL yang semuanya huruf besar boleh menghasilkan kod yang lebih kecil daripada URL yang sama dalam huruf kecil.

  • Angka: digit 0–9, 10 bit bagi 3 digit
  • Abjad angka: 45 aksara, 11 bit bagi 2 aksara
  • Bait: sebarang nilai 8 bit, 8 bit bagi satu bait
  • Kanji: aksara dwibait Shift JIS, 13 bit setiap satu

Penunjuk mod dan segmen

Setiap larian data bermula dengan penunjuk mod 4 bit dan kiraan aksara, yang panjangnya bergantung pada mod dan versi. Satu kod boleh mengandungi beberapa segmen sebegini, contohnya angka untuk larian digit yang panjang dan bait untuk selebihnya, yang boleh menjadikan hasilnya lebih kecil.

Penunjuk 4 bit yang lain menandakan ciri dan bukannya set aksara: ECI untuk mengisytiharkan pengekodan aksara, structured append untuk memecahkan data merentasi beberapa kod, dan FNC1 untuk GS1 dan format data industri yang lain. Penamat empat bit sifar mengakhiri data.

  • Angka 0001, abjad angka 0010, bait 0100, kanji 1000
  • ECI 0111, structured append 0011
  • FNC1 kedudukan pertama 0101, kedudukan kedua 1001
  • Penamat 0000

Mod bait dan set aksara

Tafsiran lalai piawaian bagi mod bait ialah ISO-8859-1 (Latin-1), tetapi kebanyakan penjana kini menulis UTF-8 supaya huruf beraksen, skrip lain dan emoji kekal utuh. Pembaca biasanya mengesan UTF-8 dengan memeriksa bait itu.

Apabila set aksara mesti jelas tanpa keraguan, pengepala ECI boleh mengisytiharkannya secara nyata. Tanpanya, pembaca kadangkala mungkin tersalah teka dan memaparkan aksara yang kacau.

Soalan lazim

Kenapa kod QR saya lebih besar dengan huruf kecil?

Huruf kecil tiada dalam set abjad angka, jadi teks itu perlu menggunakan mod bait pada 8 bit bagi setiap aksara dan bukannya 5.5. Huruf besar, digit dan beberapa simbol dipadatkan dengan lebih rapat.

Bolehkah kod QR menyimpan emoji atau teks bukan Latin?

Ya, dalam mod bait menggunakan UTF-8, yang disokong oleh kebanyakan penjana dan pembaca telefon. Setiap aksara sedemikian memerlukan beberapa bait, jadi kapasiti berkurang.

Bolehkah satu kod QR mencampurkan data angka dan teks?

Ya. Data boleh dipecahkan kepada segmen, masing-masing dengan modnya sendiri, dan pengekod yang baik memilih pembahagian yang menghasilkan kod terkecil.

Sumber dan piawaian

Semua istilah