QR ustida oldin ham ishlagan edim. Ammo qiziq narsa topib oldim wifi creds manabunaqa formatda bo'ladi:
WIFI:T:<security>;S:<SSID>;P:<password>;H:<hidden>;;
QR parserlar manashu prefixlar bo'yicha aniqlaydi masalan wifi uchun
WIFI prefix, url bo'lsa shunchaki url address, sms bo'lsa smsto Scannerlar esa shu datalarni parse qilib kerakli actionlarni qiladi. Masalan wifi bo'lsa wifi connect uchun signal qiladi. Url bo'lsa browserga redirect signal qiladi.Albatta yana bir narsa bu QR code size. Yani QR code turlari juda ham ko'p va har bir turdagi QR ma'lum sig'imda ma'lumotni saqlay oladi. Masalan QR version 1 16 Byte saqlasa 40-version uje 2331 bu narsa odatda mule sizega qaraladi masalan versiya 1 size 21x21
Modul deganda pixel blocklarni tushunsangiz bo'ladi. Masalan 21x21 matrix bor har bir block 1 bit. Agar qoraga bo'yalgan block bo'lsa demak 1 bo'lmasa 0.
QR o'zi haqida yana qisqacha maslan shu 21x21 modulik:
QRdagi katta kvadrat narsalar masalan 3ta kvadrat turadiku: Finder patterns deyiladi bu narsa orentatsiya uchun kerak scannerlarga.
Separators oq chegaralar - chegaralarni aniqlashga kerak.
Timing strips - bu narsa scannerga data sizeni aytadi.
Format info - Qisqasi format haqida info ))
Data + ECC - Uje buyoqda data bytelar va error correction turadi.
ECC yanada qiziq, chunki scanner adashishi yoki bo'lmasa bazi bitlar buzilgan bo'lishi mumkin. ECC data bilan qo'shib saqlanganida ECC codewordsdan yoqolgan bitlarni recover qilib olsa bo'ladi.
QR Code: https://www.qrcode.com/en/
Reed–Solomon error correction: https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction