Kisomaji cha msimbo wa QR ni nini?
Msimbo wa QR ni msimbo wa mstari wa matrix wa pande mbili uliofafanuliwa na ISO/IEC 18004. Unaweka maandishi, URL, kadi za mawasiliano, msimbo wa Wi-Fi, na maudhui mengine mafupi kama gridi ya moduli za mraba nyeusi na nyeupe, pamoja na data ya kurekebisha makosa ya Reed-Solomon ili alama bado isomeke baada ya uharibifu wa sehemu au mwonekano wa nembo. Kisomaji cha msimbo wa QR hufanya kinyume chake: huchukua picha ya alama ya QR na kurejesha mfuatano wa maudhui ya asili. Kisomaji hiki kinaendesha mfumo wa usomaji moja kwa moja kwenye kivinjari chako ukitumia maktaba ya chanzo huria jsQR (takriban 130 KB, leseni ya MIT). Picha unayoweka, kubandika, au kusakani kwa kamera haziondoki kwenye kichupo. Hakuna hatua ya kupakia. Fungua DevTools unapokuwa ukisoma na paneli ya Mtandao inabaki kimya — ukurasa hautokelezi XHR, fetch, wala alama ya takwimu inayohusiana na maudhui yako ya picha.
Jinsi usomaji wa QR unavyofanya kazi?
Usomaji unafanyika kabisa kwenye mashine yako. Kila picha hupita mfumo uliowekwa kabla maudhui yake yanarudishwa:
- Faili la picha (PNG, JPG, WebP, au fremu ya kamera) huchorwa kwenye HTML
<canvas>iliyofichwa. API ya canvas inarudisha data ya pikseli ghafi kama safu ya baiti ya RGBA. - Maktaba ya jsQR hubadilisha safu ya pikseli kuwa bitmap ya kijivu na kutafuta miraba mitatu tofauti ya mchoro wa kigunduzi kwenye pembe za alama ya QR.
- Mara mchoro wa kigunduzi unapopatikana, kisomaji huhesabu mabadiliko ya mtazamo na kuchimba gridi kamili ya moduli, kusoma kila seli kama binary 0 au 1.
- Gridi ya moduli inachambuliwa kulingana na vipimo vya QR: maelezo ya muundo na toleo yanasomwa kwanza, kisha moduli za data zinatenganishwa na usahihi wa makosa wa Reed-Solomon unatumika.
- Maneno ya data yaliyosahihishwa yanasomwa kulingana na hali ya sehemu (nambari, herufi na nambari, baiti, au kanji), yakitoa mfuatano wa maudhui ya asili.
- Chombo hiki kisha kinachunguza maudhui kwa mkusanyo mdogo wa misemo ya kawaida ili kutambua aina ya maudhui (URL, msimbo wa Wi-Fi, vCard, na kadhalika) na kuwasilisha matokeo kwa kitufe cha hatua kinachofaa.
Kwa nini kutumia kisomaji cha QR kinachofanya kazi kwenye kivinjari?
- Baiti za picha haziondoki kwenye kifaa chako. Bandika QR inayoficha nenosiri la Wi-Fi, URL ya ndani ya majaribio, au vCard iliyo na nambari ya simu ya mtu binafsi, na maudhui hayo yanabaki kwenye kompyuta yako. Visomaji vingine vya QR vinaendesha usomaji kwenye seva ya mbali na kukuomba kupakia picha kwanza — hiki haidiriki hivyo.
- Mara ukurasa unapopakiwa, usomaji unafanya kazi bila mtandao. Maktaba ya jsQR inaishi kwenye kichupo chako. Unaweza kukata Wi-Fi, kuweka picha ya QR kwenye ukurasa, na bado kupata maudhui — muhimu kwenye ndege, kwenye basements, na popote ambapo mtandao wa shirika unazuia visomaji vya wahusika wengine.
- Ikiwa kompyuta yako ya mezani au kompyuta ndogo ina kamera ya wavuti, unaweza kuielekeza kwenye msimbo wa QR uliochapishwa na kusoma bila kusakinisha programu au kufungua simu. Mtiririko wa kamera unabaki kwenye kivinjari na kusimama mara msimbo unaposomwa.
- Kisomaji kinatambua URL, mistari ya kuunganisha Wi-Fi, vCard, MeCard, mailto, SMS, na maudhui ya jiografia na kuwasilisha kitufe cha hatua kinachofaa. Fungua URL, nakili nenosiri la Wi-Fi, hifadhi kadi ya mawasiliano — chochote ambacho QR ina kweli.
Matumizi ya kawaida ya kisomaji cha QR
Wakati wowote unahitaji kuona msimbo wa QR unasema nini bila kuielekeza simu:
- Kutatua misimbo uliyotengeneza. Bandika QR ambayo programu yako ilizalisha (au piga picha kutoka kwa Kizalishi cha QR kinachofuata) na thibitisha URL iliyowekwa au maudhui yanafanana na ulivyokusudia kabla ya kutuma kwa uchapishaji, ufungashaji, au bango.
- Kupata tena msimbo wa Wi-Fi. Sakani QR ya Wi-Fi kutoka ukurasa wa usanidi wa router, kadi ya karibuni ya hoteli, au picha ya orodha ya AirBnB na kisomaji kinarudisha SSID, aina ya usalama, na nenosiri kama maandishi ya kawaida unayoweza kunakili kwenye kifaa kingine.
- Ukaguzi na upatikanaji. Soma misimbo ya QR kwenye nyaraka zilizopigwa picha, lebo za bidhaa, vipande vya mkutano, au picha za machapisho ya mitandao ya kijamii ili kuchimba maudhui yao kwenye lahajedwali, kumbukumbu ya utiifu, au programu ya kusaidia — inafaa wakati URL ya marudio ndiyo dai halisi linalohitaji ukaguzi.
Usomaji wa msimbo wa QR wa kweli unakaa vipi?
Chukua msimbo wa QR wa Wi-Fi uliochapishwa kwenye dirisha la duka la kahawa. Nyuma ya alama, maudhui ghafi yanafuata mpango wa URI wa WIFI:: WIFI:S:CafeGuest;T:WPA;P:espresso2026;H:false;;. Piga picha ya alama, weka picha kwenye eneo la kupakia hapo juu, na mfumo unafanya kazi: canvas inasoma pikseli, jsQR inapata michoro mitatu ya kigunduzi ya pembe, mabadiliko ya mtazamo yananyoosha gridi, Reed-Solomon inarekebisha uharibifu wowote wa mwanga au ukandamizaji, na sehemu ya hali ya baiti inayotoa mfuatano wa URI. Kisomaji kisha kinachunguza kiambishi awali WIFI: na kuweka lebo ya aina kama Wi-Fi, kuchakata jina la mtandao kama CafeGuest, aina ya usalama kama WPA, na nenosiri kama espresso2026. Kitufe cha Nakili kinaweka nenosiri kwenye ubao wako wa klipu ili uweze kubandika kwenye kichaguo cha mtandao cha OS. Kwa URL ya kawaida ya QR iliyo na https://tools.ultim8soft.com, mfumo ule ule unarudi na beji ya aina ya URL na kitufe cha Fungua kinachosogea hadi lengo kwenye kichupo kipya. Kwa njia yoyote, jambo pekee lililotokea kwenye mtandao lilikuwa upakiaji wa ukurasa mwenyewe — usomaji ni wa ndani.
Kisomaji hiki cha msimbo wa QR kiliundwa kwa kazi moja: kuonyesha hasa nini msimbo wa QR unachodhibitisha, kwenye kivinjari chako, bila seva kati yake. Weka picha, bandika kutoka klipu, au acha wavuti kufanya kazi, na maudhui yaliyosomwa pamoja na aina yake yanaonekana kwenye skrini kwa chini ya sekunde moja. Baiti za picha hazipakiwi. Fremu za kamera hazirekodiwi. Maudhui yaliyosomwa hayapiti kwenye kumbukumbu za mtu mwingine njiani kurudi kwako. Iunganishe na Kizalishi cha QR kinachofuata unapohitaji uthibitisho wa kwenda na kurudi kwamba ulichoweka ndicho mtu mwingine ataona.
Je, picha inapakiwa kwenye seva?
Hapana. Picha huchorwa kwenye canvas ya HTML iliyopo kwenye kumbukumbu na kusomwa kabisa na JavaScript ya upande wa mteja inayofanya kazi kwenye kichupo chako. Hakuna pikseli ya picha yako inayotumwa kwa seva, kurekodwa, au kuhifadhiwa. Unaweza kuthibitisha hili kwa kufungua DevTools na kutazama paneli ya Mtandao unapoweka picha: hakuna XHR, fetch, wala alama ya takwimu inayohusiana na maudhui ya faili.
Uskani wa kamera unafanya kazi vipi?
Unapowasha hali ya kamera, kivinjari kinaomba ruhusa ya kufikia kamera ya kifaa chako kupitia API ya kawaida ya getUserMedia. Fremu za video huchukuliwa kwenye canvas iliyofichwa kwa azimio la hadi 640×480 na kupewa jsQR kusoma. Kila fremu inatupwa mara inayofuata inapowasili, na mtiririko wa kamera husimamishwa baada ya usomaji wa kwanza uliofanikiwi. Hakuna fremu zinazorekodwa, hakuna fremu zinazotumwa, na ombi la ruhusa linawaka tu unapobonyeza kitufe — si wakati wa kupakia ukurasa.
Kwa nini baadhi ya maudhui ya QR yanagundulika kiotomatiki kama Wi-Fi au vCard?
Maudhui ya QR kwa msimbo wa Wi-Fi yanafuata muundo wa WIFI:S:ssid;T:type;P:password;;, na vCard zinaanza na BEGIN:VCARD. Kisomaji hiki kinatambua mifumo hiyo pamoja na viambishi awali vingine vya kawaida (mailto:, geo:, smsto:, MECARD:, https://) na kuweka lebo ya aina ya maudhui kiotomatiki ili kitufe cha hatua kifanane na unachohitaji kweli kufanya na maudhui.
Kwa nini msimbo wangu wa QR haukusomwa?
Sababu za kawaida: picha ni ndogo sana au azimio lake ni la chini (takriban 100×100 px ni kiwango cha chini, 300×300+ inasomwa kwa uaminifu), alama ina uharibifu mkubwa au imefichwa kwa sehemu na nembo bila usahihi wa kutosha wa makosa, ukanda wa utulivu (mpaka tupu kuzunguka moduli) unakosekana au umekatwa, au tofauti kati ya moduli nyeusi na nyeupe ni ndogo sana. Kwa hali ya kamera, boresha mwanga au sogeza msimbo karibu na lenzi — jsQR inahitaji kutatua moduli za mtu binafsi wazi ili kufunga kwenye mifumo ya kigunduzi.