QR kod oluşturucu
Bir QR kod üretin ve ardındaki kararları görün: mod bölünmesi, sürüm, hata düzeltme düzeyi, sekiz maskenin puanı ve ortadaki logonun gerçek bedeli.
https://seladevtools.com/qr-code-generator
Sürüm 3 · 29×29 modül · düzey M · maske 7
- Sürüm
- 3 · 29×29 modül
- Düzey
- M
- Maske
- 7 (en düşük ceza)
- Veri
- 352 bitin 348 biti
- Kod sözcükleri
- 44 veri + 26 düzeltme, 1 blokta
Parçalar
| Mod | Karakter | Bit |
|---|---|---|
| byte | 42 | 348 |
Maske cezaları
| Maske | Diziler | Bloklar | Bulma desenine benzer | Denge | Toplam |
|---|---|---|---|---|---|
| 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 |
Dört kural şunları cezalandırır: tek renkli uzun diziler, 2×2 bloklar, tarayıcının bulma deseniyle karıştırdığı 1:1:3:1:1 dizilimi ve koyu oranın yarıdan uzaklaşması. En düşük olan kazanır; bir satıra tıklayarak sabitleyebilirsiniz.
Her QR kodun içinde dört karar saklıdır
Bir QR üreticisine metin yapıştırırsınız ve siyah beyaz bir kare çıkar. Size gösterilmeyen şu: kodlayıcı az önce sizin adınıza dört ayrı karar verdi; her biri sonucu değiştiriyor ve her biri başka türlü de verilebilirdi.
Bu araç dördünü de gösterir, çünkü ilginç olan kısım orası. Bir kez görünür oldular mı, keyfî görünen davranış — tek karakter eklenince kodun bir boy atlaması, bir logonun bir kodda çalışıp diğerinde çalışmaması — keyfî olmaktan çıkar.
- Mod bölünmesi: standart karakterleri paketlemenin dört yolunu tanımlar ve metniniz bunlar arasında pay edilir.
- Sürüm: ızgarayı 21×21 ile 177×177 modül arasında sabitleyen, 1 ile 40 arası bir sayı.
- Hata düzeltme düzeyi: L, M, Q veya H; sembolün ne kadarı bozulup yine de okunabileceğini belirler.
- Maske: tarayıcıyı şaşırtan biçimleri kırmak için veriye XOR ile bindirilen sekiz desenden biri.
Dördünden hiçbiri tercih meselesi değildir. Diğerleri verildiğinde her birinin doğru bir yanıtı vardır ve tam da bu yüzden izlemeye değerler: birbirlerini etkilerler.
Metni bölmek bir en kısa yol problemidir
Sayısal mod her üç rakam için 10 bit harcar. Alfasayısal mod her iki karakter için 11 bit harcar; kümesi 45 karakterdir: rakamlar, büyük harfler, boşluk ve dokuz noktalama işareti. Bayt modu her UTF-8 baytı için 8 bit harcar. Kanji modu, bayt modunun 24 bit harcayacağı bir karaktere 13 bit harcar.
Bu yüzden en ucuz kodlama nadiren tüm dizge için tek moddur — ama mod değiştirmek de bedava değildir; her parça 4 bitlik bir mod göstergesi ve bir karakter sayısı alanı öder. Bir rakam dizisini ayırmaya değip değmeyeceği uzunluğuna bağlıdır. Bu da bölünmeyi bir en kısa yol problemine dönüştürür ve buradaki kodlayıcı onu bir kural-ı kaide ile tahmin etmek yerine tam olarak çözer.
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
Yirmi dokuz bit; sürüm 1’de sığmakla sığmamak arasındaki fark budur. Sayfadaki parça tablosu kodlayıcının gerçekten seçtiği bölünmeyi ve her parçanın maliyetini gösterir, böylece hangi karakterlerin pahalı olduğunu görürsünüz.
Sürüm ile bölünme birbirini kovalar
Saf bir kodlayıcıyı yanıltan incelik burada. Karakter sayısı alanının genişliği sabit değildir. Bayt modunda sürüm 1’den 9’a kadar 8 bit, sürüm 10’dan itibaren 16 bittir; sayısal mod aynı sınırlarda 10, 12 ve 14’ten geçer.
Yani bölünmenin maliyeti sürüme, sürüm de bölünmenin maliyetine bağlıdır. Çıkış yolu, sürüm gruplarının yalnızca üç tane olduğunu fark etmektir: bölünme her grup için bir kez hesaplanır ve herhangi birinin sığdığı en küçük sürüm kazanır.
- Sürüm 1–9: sayısal 10 bit, alfasayısal 9, bayt 8, kanji 8.
- Sürüm 10–26: sayısal 12, alfasayısal 11, bayt 16, kanji 10.
- Sürüm 27–40: sayısal 14, alfasayısal 13, bayt 16, kanji 12.
Maske dört ceza kuralıyla seçilir
QR koddaki veri neredeyse rastgeledir ve rastgele siyah beyaz, tarayıcının aradığı yapısal desenlerle karıştırabileceği biçimler üretir. Çare, veri alanına o biçimleri kırmak için seçilmiş düzenli bir deseni XOR ile bindirmektir. Sekiz desen vardır ve kodlayıcı hepsini dener.
Maskelenmiş her sembol standardın dört kuralıyla puanlanır ve en düşük toplam kazanır. Sayfadaki tablo sekiz puanı kural kural ayrıştırarak gösterir; bir satıra tıklamak o maskeyi sabitler ve etkisini görmenizi sağlar.
- Diziler: bir satır veya sütunda aynı renkten beş bitişik modül için üç puan, sonraki her modül için bir puan daha.
- Bloklar: tek renkli her 2×2 alan için üç puan.
- Bulma desenine benzer: dört açık modülün yanındaki koyu-açık-koyu-açık-koyu 1:1:3:1:1 dizilimi için kırk puan — köşe karelerine benzeyen desen.
- Denge: koyu modül oranının yarıdan uzaklaştığı her tam %5 için on puan.
Uygulamalar burada biraz ayrışır: 1:1:3:1:1 deseninin daha büyük ölçekte de sayılıp sayılmadığı ve biçim bilgisinin puana girip girmediği konusunda. Buradaki kodlayıcı, çoğu telefon kamerasında çalışan ZXing okumasını izler ve iki bağımsız uygulamaya karşı sabitlenmiştir. Bu ayrılık asla geçersiz bir kod üretmez; yalnızca gayet okunur birkaç maskeden hangisinin seçileceğini belirler.
Ortadaki logonun gerçek bedeli
Herkes aynı kuralı tekrarlar: H düzeyi %30’u kurtarır, öyleyse kodun %30’una kadarını kapatabilirsiniz. Bu, biçimi yanlış bir yanıttır ve peşinden gitmek er ya da geç elinize taranmayan bir kod verir.
QR kodda hata düzeltme tek bir havuz değildir. Veri, her biri kendi düzeltme kod sözcüklerine sahip Reed-Solomon bloklarına ayrılır ve bloklar tüm ızgaraya serpiştirilir; böylece bir çizik tek bloğu çok değil, birkaç bloğu az yaralar. Her blok düzeltme kod sözcüklerinin yaklaşık yarısını yitirip yeniden kurulabilir. Ortadaki logo ise dolu bir karedir — serpiştirmenin dağıtmak için tasarlandığı biçim tam da budur, ama dağıtım hiçbir zaman eşit olmaz.
Dolayısıyla soru, sembolün ne kadarının kapandığı değildir. Soru, en çok zarar gören bloğun ne kadar yitirdiğidir. Bu sayfa her modülün hangi kod sözcüğüne ait olduğunu ve her kod sözcüğünün hangi bloktan geldiğini bilir, bu yüzden doğrudan yanıtlayabilir: bir logo yükleyin, blok başına hasarı ve en kötü bloğa kalan payı bildirsin.
- Bir bulma desenini, zamanlama desenini ya da biçim bilgisini kapatmak bütçe meselesi değildir: bunlarda hiç düzeltme yoktur ve onları bulamayan bir tarayıcı düzeltme aşamasına hiç gelmez.
- Kod sözcüklerinin yarısı bir üst sınırdır. Baskı, parlama, kavisli yüzeyler ve aşınma da aynı bütçeden harcar; ekranda tam sınırda olan bir kod bir kupanın üzerinde sınırda değildir.
- Daha büyük bir logo için H düzeyine çıkmak sembolü büyütür, dolayısıyla aynı baskı boyutunda her modülü küçültür — kimi zaman kazanç değil kayıptır.
Yük biçimleri ve ısırdıkları yer
Bir Wi-Fi QR kodu ya da bir kartvizit, tarayıcıların tanıdığı biçime sokulmuş metinden başka bir şey değildir. Biçimler basittir; gerçek kodların kırıldığı yer kaçış kurallarıdır ve bunlar sessiz hatalardır: kod kusursuz taranır ve yanlış yanıtı verir.
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
Wi-Fi biçiminde noktalı virgül bir alanı bitirir; içinde noktalı virgül olan bir parola kaçışlanmazsa kimlik bilgisini keser — virgül, iki nokta, tırnak ve ters bölü için de aynısı geçerlidir. Yalnızca onaltılık rakamlardan oluşan bir ağ adı tırnak içine alınmalıdır, yoksa metin olarak değil onaltılık değer olarak okunur. vCard’da ayırıcılar noktalı virgül ile virgüldür, 75 sekizliyi aşan bir satır boşlukla başlayan bir devam satırına katlanmalıdır ve satır sonu CRLF’tir.
Buradaki kurucular bunların hepsini uygular ve ne yaptıklarını söyler; girdinizi sessizce yeniden yazmazlar. Alanların altında bir uyarı belirdiyse metninizde işlem gerektiren bir şey vardı demektir — ve bunu bin çıkartma bastırmadan önce bilmek genellikle iyidir.
Sıkça sorulan sorular
- Tek bir karakter eklemek kodu neden bu kadar büyüttü?
- Çünkü mod bölünmesi, sürüm ya da ikisi birden değişti. Tümü büyük harften oluşan bir dizeye eklenen tek bir küçük harf, bir parçanın tamamını alfasayısal moddan bayt moduna itebilir; bu da karakter başına beş buçuk bit yerine sekiz bit demektir. Sürüm 9’dan 10’a geçmek ayrıca her karakter sayısı alanını genişletir. Bitlerin nereye gittiğini parça tablosu gösterir.
- Hangi hata düzeltme düzeyini seçmeliyim?
- M makul varsayılandır ve sahadaki kodların çoğu onu kullanır. Kod küçük basılacaksa, kavisli bir şeyin üzerindeyse, elden ele geçen bir yüzeydeyse ya da ortasını logoyla kapatıyorsanız Q veya H’ye çıkın. L’ye yalnızca yük uzunsa ve kod ekrandan okunacaksa inin. Yüksek düzeyler güvenilirliği bedava vermez: aynı veri için sembolü büyütürler ve aynı baskı boyutundaki daha büyük bir sembolün modülleri daha küçüktür.
- Ortaya ne kadar büyük bir logo konabilir?
- Yükleyin, sayfa söylesin; çünkü dürüst yanıt sürüme, düzeye ve blokların nereye denk geldiğine bağlıdır. Sayfanın yapmayacağı şey %30 kuralını tekrarlamaktır: o kural alan değil kod sözcüğü hakkındadır ve en kötü blok değil sembolün tamamı hakkındadır. Başlangıç noktası olarak, H düzeyinde kenarın %15’i genellikle rahattır, %25’i genellikle değildir.
- URL’yi büyük harfle yazmak kodu gerçekten küçültür mü?
- Çoğu zaman evet. Alfasayısal modda küçük harf yoktur; küçük harfli bir URL karakter başına sekiz bitle bayt moduna gider, büyük harfli olan ise beş buçukla alfasayısala sığar. Şema ve konak büyük-küçük harf ayrımı yapmaz, bu yüzden HTTPS://EXAMPLE.COM tıpkı https://example.com gibi çalışır — ama yol ayrım yapar ve ona dokunulmamalıdır. Sayfa kazancı sizin gerçek URL’niz üzerinde ölçer ve değişikliği yalnızca işe yaradığında önerir.
- Japonca metin için kanji modu değer mi?
- Değer: bayt modunun UTF-8’de 24 bit harcadığı yerde karakter başına 13 bit, yani Japonca metin neredeyse yarı boyutta çıkar. Shift_JIS’in iki baytlık aralığını kapsar; buna kana, JIS X 0208 kanjileri ve ayrıca Yunan ve Kiril harfleri dahildir. Bu sayfa eşleme tablosunu yalnızca metniniz saf ASCII değilse yükler, dolayısıyla bir URL taşıyan kod onu hiç indirmez.
- UTF-8 bildirimini açmalı mıyım?
- Genellikle hayır. Standart, bir ECI başlığı aksini söylemedikçe bayt modunun ISO-8859-1 olduğunu söyler; ama pratikte bu yüzyılda yapılmış her tarayıcı onu UTF-8 olarak ele alır ve bu kodlayıcı da öyle yazar. Açıkça bildirmek 12 bit tutar ve bazı eski endüstriyel okuyucuları şaşırtır. ECI desteğini belgeleyen belirli bir okuyucuyu hedefliyorsanız açın.
- Neden Micro QR ya da çok parçalı kod yok?
- İkisi de standartta var ve ikisi de size taranmayan bir şey verirdi. Micro QR kendi kapasite tabloları, kendi maske kümesi ve kendi biçim kodlaması olan ayrı bir sembolojidir ve çoğu telefon kamera uygulaması onu okumaz. Structured Append yükü on altı sembole kadar dağıtır, ama neredeyse hiçbir tüketici tarayıcısı onları geri birleştirmez. Veriniz sürüm 40’a sığmıyorsa yanıt, koda bir URL koyup veriyi arkasında tutmaktır.
- Bir QR kod ne kadar küçük basılabilir?
- Alışılmış yönerge, baskıda bir modülün en az 0,4 mm olması ve kodun okuma mesafesinin yaklaşık onda birinin sürüm boyutuna bölümü kadar olmasıdır — ama pratikteki kısıt sessiz bölgedir. Standart her yandan dört modüllük temiz kenar ister ve gerçek dünyadaki en yaygın başarısızlık, başka grafiklere bitişik bir koddur. Bu hesabı yapmak için gereken sürüm ve modül sayısı sayfada yazar.