Pembuat kode QR
Buat kode QR dan lihat keputusan di baliknya: pembagian mode, versi, tingkat koreksi galat, skor delapan mask, dan biaya nyata logo di tengah.
https://seladevtools.com/qr-code-generator
Versi 3 · 29×29 modul · tingkat M · mask 7
- Versi
- 3 · 29×29 modul
- Tingkat
- M
- Mask
- 7 (penalti terendah)
- Data
- 348 dari 352 bit
- Kata kode
- 44 data + 26 koreksi, dalam 1 blok
Segmen
| Mode | Karakter | Bit |
|---|---|---|
| byte | 42 | 348 |
Penalti mask
| Mask | Deretan | Blok | Mirip pola pencari | Keseimbangan | Total |
|---|---|---|---|---|---|
| 0 | 325 | 351 | 120 | 0 | 796 |
| 1 | 331 | 375 | 280 | 0 | 986 |
| 2 | 294 | 345 | 280 | 0 | 919 |
| 3 | 322 | 345 | 160 | 0 | 827 |
| 4 | 330 | 330 | 120 | 0 | 780 |
| 5 | 312 | 348 | 160 | 0 | 820 |
| 6 | 322 | 351 | 320 | 0 | 993 |
| 7 | 289 | 273 | 160 | 0 | 722 |
Keempat aturan menghukum deretan panjang satu warna, blok 2×2, urutan 1:1:3:1:1 yang dikira pemindai sebagai pola pencari, dan proporsi modul gelap yang jauh dari separuh. Yang terendah menang; klik satu baris untuk menguncinya.
Di dalam setiap kode QR tersembunyi empat keputusan
Tempelkan teks ke pembuat kode QR dan keluarlah persegi hitam putih. Yang tidak ditunjukkan adalah bahwa penyandi baru saja mengambil empat keputusan terpisah atas nama Anda; masing-masing mengubah hasilnya, dan masing-masing bisa saja diputuskan lain.
Alat ini menunjukkan keempatnya, karena di situlah bagian yang menarik. Begitu terlihat, perilaku yang tampak sewenang-wenang — kode melonjak seukuran saat Anda menambah satu karakter, logo berhasil di satu kode tapi gagal di kode berikutnya — berhenti menjadi sewenang-wenang.
- Pembagian mode: standar menetapkan empat cara mengemas karakter, dan teks Anda dibagi di antaranya.
- Versi: bilangan 1 sampai 40 yang mematok kisi antara 21×21 dan 177×177 modul.
- Tingkat koreksi galat: L, M, Q, atau H, yang menentukan seberapa banyak simbol boleh rusak dan tetap terbaca.
- Mask: satu dari delapan pola yang di-XOR di atas data untuk memecah bentuk yang membingungkan pemindai.
Tak satu pun dari keempatnya soal selera. Masing-masing punya jawaban yang benar bila tiga lainnya sudah tetap, dan justru karena itu keempatnya layak diperhatikan: mereka saling memengaruhi.
Membagi teks adalah persoalan lintasan terpendek
Mode numerik menghabiskan 10 bit untuk setiap tiga angka. Mode alfanumerik menghabiskan 11 bit untuk setiap dua karakter, dari himpunan 45: angka, huruf besar, spasi, dan sembilan tanda baca. Mode bita menghabiskan 8 bit per bita UTF-8. Mode kanji menghabiskan 13 bit untuk karakter yang di mode bita akan makan 24 bit.
Karena itu penyandian termurah jarang berupa satu mode untuk seluruh untai — tetapi berpindah pun tidak gratis, sebab setiap segmen membayar penanda mode 4 bit dan satu medan penghitung karakter. Apakah deretan angka layak dipisahkan bergantung pada panjangnya. Itu menjadikan pembagian sebagai persoalan lintasan terpendek, dan penyandi ini menyelesaikannya secara tepat alih-alih menebak dengan aturan praktis.
HELLO12345678901234567890 as one alphanumeric segment 4 + 9 + (11 x 12) + 6 = 151 bits split at the digits 4 + 9 + (11 x 2) + 6 = 41 bits 4 + 10 + (10 x 6) + 7 = 81 bits total = 122 bits
Dua puluh sembilan bit, yang pada versi 1 adalah beda antara muat dan tidak muat. Tabel segmen di halaman menampilkan pembagian yang benar-benar dipilih penyandi berikut biaya tiap segmen, sehingga terlihat karakter mana yang mahal.
Versi dan pembagian saling mengejar
Inilah kerutan yang membuat penyandi naif keliru. Medan penghitung karakter tidak berlebar tetap. Untuk mode bita, lebarnya 8 bit pada versi 1 sampai 9 dan 16 bit sejak versi 10; mode numerik melewati 10, 12, dan 14 pada batas yang sama.
Artinya biaya pembagian bergantung pada versi, sedangkan versi bergantung pada biaya pembagian. Jalan keluarnya adalah menyadari bahwa kelompok versi hanya ada tiga: pembagian dihitung sekali untuk tiap kelompok, dan versi terkecil yang salah satunya muat itulah yang menang.
- Versi 1–9: numerik 10 bit, alfanumerik 9, bita 8, kanji 8.
- Versi 10–26: numerik 12, alfanumerik 11, bita 16, kanji 10.
- Versi 27–40: numerik 14, alfanumerik 13, bita 16, kanji 12.
Mask dipilih oleh empat aturan penalti
Data dalam kode QR nyaris acak, dan hitam putih yang acak menghasilkan bentuk yang bisa dikira pemindai sebagai pola struktural yang sedang dicarinya. Obatnya adalah meng-XOR area data dengan pola teratur yang dipilih untuk memecah bentuk-bentuk itu. Ada delapan, dan penyandi mencoba semuanya.
Tiap simbol yang telah di-mask dinilai dengan empat aturan dari standar, dan total terendah menang. Tabel di halaman menampilkan kedelapan nilai terurai per aturan, dan mengklik satu baris akan mengunci mask itu supaya efeknya terlihat.
- Deretan: tiga poin untuk lima modul berdampingan sewarna dalam satu baris atau kolom, ditambah satu untuk tiap modul berikutnya.
- Blok: tiga poin untuk tiap area 2×2 berwarna tunggal.
- Mirip pola pencari: empat puluh poin untuk urutan 1:1:3:1:1 gelap-terang-gelap-terang-gelap di sebelah empat modul terang — pola yang menyerupai persegi di sudut.
- Keseimbangan: sepuluh poin untuk tiap 5% penuh yang membuat proporsi modul gelap menjauh dari separuh.
Di sini implementasi sedikit berbeda pendapat: apakah pola 1:1:3:1:1 juga dihitung pada skala lebih besar, dan apakah informasi format ikut dinilai. Penyandi ini mengikuti pembacaan ZXing, yang berjalan di sebagian besar kamera ponsel, dan dikunci terhadap dua implementasi independen. Perbedaan itu tidak pernah menghasilkan kode yang tidak sah; ia hanya menentukan mask mana di antara beberapa mask yang sama-sama terbaca yang terpilih.
Berapa sebenarnya biaya logo di tengah
Semua orang mengulang aturan yang sama: tingkat H memulihkan 30%, jadi Anda boleh menutup sampai 30% kode. Itu jawaban dengan bentuk yang keliru, dan mengikutinya cepat atau lambat akan menyerahkan kode yang tidak terpindai.
Koreksi galat pada kode QR bukan satu kolam bersama. Data dibagi menjadi blok Reed-Solomon, masing-masing dengan kata kode koreksinya sendiri, dan blok-blok itu disisipkan menyilang di seluruh kisi supaya goresan merusak beberapa blok sedikit alih-alih satu blok banyak. Tiap blok sanggup kehilangan sekitar separuh kata kode koreksinya dan tetap dibangun ulang. Logo di tengah adalah persegi padat, persis bentuk yang hendak disebar oleh penyisipan silang — tetapi sebarannya tak pernah merata.
Jadi pertanyaannya bukan berapa bagian simbol yang tertutup, melainkan berapa banyak yang hilang dari blok yang paling parah. Halaman ini tahu tiap modul milik kata kode yang mana dan tiap kata kode berasal dari blok yang mana, sehingga bisa menjawabnya langsung: unggah logo dan ia melaporkan kerusakan per blok serta sisa ruang pada blok terburuk.
- Menutup pola pencari, pola pewaktu, atau informasi format bukan soal anggaran: keduanya tidak membawa koreksi, dan pemindai yang tidak menemukannya bahkan tak sampai ke tahap mengoreksi.
- Angka separuh kata kode itu batas atas. Pencetakan, silau, permukaan melengkung, dan keausan memakai anggaran yang sama, sehingga kode yang pas di batas pada layar sudah lewat batas di sebuah mug.
- Menaikkan ke tingkat H demi logo yang lebih besar membuat simbol membesar, sehingga tiap modul mengecil pada ukuran cetak yang sama — kadang itu kerugian, bukan keuntungan.
Format muatan dan di mana ia menggigit
Kode QR Wi-Fi atau kartu kontak hanyalah teks dalam bentuk yang dikenali pemindai. Bentuknya sederhana; yang mematahkan kode sungguhan adalah aturan escape, dan itu kegagalan yang senyap: kode terpindai sempurna dan memberi jawaban yang salah.
WIFI:T:WPA;S:Cafe\; Bar;P:p\:ssw\,rd;; BEGIN:VCARD VERSION:3.0 N:Lovelace;Ada;;; FN:Ada Lovelace ORG:Analytical Engines\, Ltd END:VCARD
Dalam format Wi-Fi, titik koma mengakhiri sebuah medan, jadi kata sandi yang memuatnya akan memotong kredensial bila tidak di-escape — begitu pula koma, titik dua, tanda kutip, dan garis miring terbalik. Nama jaringan yang seluruhnya digit heksadesimal harus diapit tanda kutip, kalau tidak ia dibaca sebagai nilai heksadesimal, bukan teks. Dalam vCard pemisahnya adalah titik koma dan koma, baris di atas 75 oktet harus dilipat ke baris lanjutan yang diawali spasi, dan akhir barisnya CRLF.
Pembangun di sini menerapkan semua itu dan mengatakan apa yang mereka lakukan, alih-alih menulis ulang masukan Anda diam-diam. Jika muncul catatan di bawah medan, berarti ada sesuatu dalam teks Anda yang perlu ditangani — dan itu biasanya baik diketahui sebelum mencetak seribu stiker.
Pertanyaan yang sering diajukan
- Mengapa menambah satu karakter membuat kode jauh lebih besar?
- Karena itu mengubah pembagian mode, versi, atau keduanya. Satu huruf kecil pada untai yang seluruhnya huruf besar bisa mendorong satu segmen penuh dari mode alfanumerik ke mode bita, yang berbiaya delapan bit per karakter alih-alih lima setengah. Berpindah dari versi 9 ke 10 juga melebarkan setiap medan penghitung karakter. Tabel segmen menunjukkan ke mana bit-bit itu pergi.
- Tingkat koreksi galat mana yang sebaiknya dipakai?
- M adalah bawaan yang masuk akal dan itulah yang dipakai kebanyakan kode di lapangan. Naik ke Q atau H bila kode dicetak kecil, ditempel pada benda melengkung, pada permukaan yang sering dipegang, atau bila Anda menutup bagian tengah dengan logo. Turun ke L hanya bila muatannya panjang dan kode dibaca dari layar. Tingkat yang lebih tinggi tidak memberi keandalan secara gratis: simbol membesar untuk data yang sama, dan simbol yang lebih besar pada ukuran cetak yang sama punya modul yang lebih kecil.
- Seberapa besar logo yang boleh ditaruh di tengah?
- Unggah saja dan halaman akan menjawabnya, karena jawaban yang jujur bergantung pada versi, tingkat, dan di mana blok-bloknya jatuh. Yang tidak akan dilakukannya adalah mengulang aturan 30%, yang berbicara soal kata kode dan bukan luas, dan soal seluruh simbol dan bukan blok terburuk. Sebagai titik awal, 15% dari sisi pada tingkat H biasanya lapang dan 25% biasanya tidak.
- Apakah menulis URL dengan huruf besar benar-benar mengecilkan kode?
- Sering kali ya. Mode alfanumerik tidak punya huruf kecil, jadi URL huruf kecil masuk ke mode bita dengan delapan bit per karakter, sedangkan yang huruf besar muat di alfanumerik dengan lima setengah. Skema dan host tidak peka huruf besar-kecil, jadi HTTPS://EXAMPLE.COM bekerja persis seperti https://example.com — tetapi lintasannya peka dan tidak boleh disentuh. Halaman mengukur penghematan pada URL Anda yang sebenarnya dan hanya menawarkan perubahan bila memang membantu.
- Apakah mode kanji sepadan untuk teks Jepang?
- Sepadan: 13 bit per karakter di tempat mode bita UTF-8 menghabiskan 24, sehingga teks Jepang keluar hampir separuh ukurannya. Ia mencakup rentang dua bita Shift_JIS, yang memuat kana, kanji JIS X 0208, dan juga huruf Yunani serta Kiril. Halaman ini memuat tabel pemetaan hanya bila teks Anda bukan ASCII murni, jadi kode yang membawa URL tidak pernah mengunduhnya.
- Perlukah saya menyalakan pernyataan UTF-8?
- Biasanya tidak. Standar mengatakan mode bita adalah ISO-8859-1 kecuali sebuah tajuk ECI menyatakan lain, tetapi dalam praktiknya setiap pemindai buatan abad ini memperlakukannya sebagai UTF-8, dan itulah yang ditulis penyandi ini. Menyatakannya secara eksplisit berbiaya 12 bit dan membingungkan sebagian pembaca industri lama. Nyalakan bila Anda menyasar pembaca tertentu yang mendokumentasikan dukungan ECI.
- Mengapa tidak ada Micro QR atau kode berbagi bagian?
- Keduanya ada dalam standar dan keduanya akan menyerahkan sesuatu yang tidak terpindai. Micro QR adalah simbologi tersendiri dengan tabel kapasitas, himpunan mask, dan penyandian format sendiri, dan sebagian besar aplikasi kamera ponsel tidak membacanya. Structured Append memecah muatan ke dalam sampai enam belas simbol yang nyaris tak ada pemindai konsumen menyatukannya kembali. Bila data Anda tidak muat di versi 40, jawabannya adalah menaruh URL di dalam kode dan datanya di belakang.
- Sekecil apa kode QR boleh dicetak?
- Panduan yang lazim adalah satu modul minimal 0,4 mm untuk cetak dan ukuran kode kira-kira sepersepuluh jarak pemindaian dibagi ukuran versi — tetapi kendala praktisnya adalah zona sunyi. Standar meminta margin bersih empat modul di semua sisi, dan kegagalan paling umum di dunia nyata adalah kode yang menempel rapat pada elemen grafis lain. Versi dan jumlah modul yang tertera di halaman adalah yang Anda perlukan untuk hitungan itu.