ما هو قارئ رموز QR؟
رمز QR هو رمز شريطي مصفوفي ثنائي الأبعاد محدَّد بمعيار ISO/IEC 18004، يُشفِّر نصوصًا وعناوين URL وبطاقات جهات اتصال وبيانات اعتماد Wi-Fi وحمولات قصيرة أخرى في شبكة من الوحدات البيضاء والسوداء، إلى جانب بيانات تصحيح أخطاء Reed-Solomon حتى يُفكَّك الرمز رغم التلف الجزئي أو وضع الشعار فوقه. يقوم قارئ رموز QR بالعملية العكسية: يأخذ صورة رمز QR ويسترجع سلسلة الحمولة الأصلية. يُشغِّل هذا القارئ خط فك التشفير مباشرةً داخل متصفحك باستخدام مكتبة jsQR مفتوحة المصدر (نحو 130 كيلوبايت، مرخصة MIT). الصورة التي تسقطها أو تلصقها أو تمسحها بالكاميرا لا تغادر علامة التبويب أبدًا.
كيف يعمل فك تشفير رمز QR؟
يعمل فك التشفير كليًا على جهازك. تمر كل صورة عبر خط معالجة ثابت قبل إرجاع نص الحمولة:
- يُرسَم ملف الصورة (PNG أو JPG أو WebP أو إطار من الكاميرا) على عنصر HTML
<canvas>خارج الشاشة. تُعيد Canvas API بيانات البكسل الخام كمصفوفة بايت RGBA. - تحوِّل مكتبة jsQR مصفوفة البكسل إلى صورة ظلية رمادية وتفحصها بحثًا عن المربعات الثلاثة المميزة لنمط الباحث في زوايا رمز QR.
- بعد تحديد أنماط الباحث، يحسب المفكِّك التحويل المنظوري ويستخرج شبكة الوحدات الكاملة، ويقرأ كل خلية كثنائي 0 أو 1.
- تُحلَّل شبكة الوحدات وفق مواصفة QR: تُقرأ معلومات التنسيق والإصدار أولًا، ثم تُزال التشابكات عن وحدات البيانات وتُطبَّق مصحِّح أخطاء Reed-Solomon.
- تُفكَّك كلمات البيانات المصحَّحة وفق وضع المقطع (رقمي أو حرفي رقمي أو بايت أو كانجي) لإنتاج سلسلة الحمولة الأصلية.
- تشمّ الأداة الحمولة بعدها باستخدام مجموعة صغيرة من التعبيرات النمطية لتحديد نوع المحتوى (URL أو بيانات Wi-Fi أو vCard وما إلى ذلك) وتُظهر النتيجة مع زر إجراء مناسب.
لماذا تستخدم قارئ QR مستندًا إلى المتصفح؟
- بايتات الصورة لا تغادر جهازك. الصِق رمز QR يُخفي كلمة مرور Wi-Fi أو عنوان URL داخليًا أو vCard بالبيانات الشخصية لأحدهم، وسيبقى ذلك المحتوى على حاسوبك المحمول. تُجري قرّاء QR الأخرى عملية فك التشفير على خادم بعيد وتطلب منك رفع الصورة أولًا — هذا القارئ لا يفعل ذلك.
- بعد تحميل الصفحة، يعمل فك التشفير بدون اتصال بالإنترنت. مكتبة jsQR تعيش داخل علامة تبويبك. يمكنك قطع Wi-Fi وإسقاط صورة QR في الصفحة والحصول على الحمولة رغم ذلك.
- إذا كان حاسوبك المكتبي أو المحمول مزوَّدًا بكاميرا ويب، يمكنك توجيهها نحو رمز QR مطبوع وقراءته دون تثبيت تطبيق أو إلغاء قفل هاتف. يبقى تدفق الكاميرا داخل المتصفح وتتوقف فور فك تشفير رمز.
- يتعرف القارئ على عناوين URL وسلاسل Wi-Fi وvCard وMeCard وmailto وSMS والحمولات الجغرافية ويُظهر زر إجراء يتناسب مع كل نوع — فتح رابط أو نسخ كلمة مرور Wi-Fi أو حفظ بطاقة جهة الاتصال.
الاستخدامات الشائعة لقارئ رموز QR
في أي وقت تحتاج فيه إلى معرفة ما يقوله رمز QR بالفعل دون توجيه هاتف نحوه:
- تصحيح الرموز التي أنشأتها للتو. الصِق رمز QR الذي أنتجه تطبيقك وتأكد أن عنوان URL أو الحمولة المشفَّرة تطابق ما تقصده قبل إرساله للطباعة أو التغليف أو الملصق.
- استرداد بيانات اعتماد Wi-Fi. امسح رمز QR للشبكة من صفحة إعداد الراوتر أو بطاقة الترحيب في الفندق أو صورة قائمة AirBnB ليُعيد القارئ SSID ونوع الأمان وكلمة المرور كنص عادي يمكن نسخه إلى جهاز آخر.
- التدقيق وإمكانية الوصول. فكِّك رموز QR في المستندات الممسوحة أو ملصقات المنتجات أو شارات المؤتمرات أو لقطات شاشة المنشورات لاستخراج محتواها في جدول بيانات أو سجل امتثال أو برنامج مساعد.
كيف يبدو فك تشفير رمز QR حقيقي؟
خذ رمز QR لشبكة Wi-Fi مطبوعًا على واجهة مقهى. خلف الرمز، تتبع الحمولة الخام مخطط URI للـ WIFI: WIFI:S:CafeGuest;T:WPA;P:espresso2026;H:false;;. صوِّر الرمز وأسقط الصورة في منطقة الرفع أعلاه، فينطلق خط المعالجة: تقرأ Canvas البكسل، وتعثر jsQR على أنماط الباحث الثلاثة الزاوية، ويُقوِّم التحويل المنظوري الشبكة، ويُصلح Reed-Solomon أي بهتان أو تلف ضغط، ثم ينتج مقطع بايت سلسلة URI. يشمّ القارئ بادئة WIFI: ويُصنِّف النوع كـ Wi-Fi ويُحلِّل اسم الشبكة CafeGuest ونوع الأمان WPA وكلمة المرور espresso2026. زر نسخ يضع كلمة المرور في حافظتك للصقها في منتقي الشبكة. بالنسبة لرمز QR بعنوان URL يحتوي على https://tools.ultim8soft.com، يُعيد الخط ذاته شارة النوع URL وزر فتح للانتقال إلى الهدف في علامة تبويب جديدة.
بُني قارئ QR هذا لمهمة واحدة: يُظهر لك بالضبط ما يُشفِّره رمز QR، داخل متصفحك، دون خادم بينهما. أسقط صورة أو الصِق من الحافظة أو دع الكاميرا تعمل، وسيظهر المحتوى المفكوك ونوعه على الشاشة في أقل من ثانية. بايتات الصورة لا تُرفَع، وإطارات الكاميرا لا تُسجَّل، والحمولة المفكوكة لا تمر عبر سجلات أي طرف آخر.
هل تُرفَع الصورة إلى خادم؟
لا. تُرسَم الصورة على لوحة HTML في الذاكرة وتُفكَّك كليًا بواسطة JavaScript من جانب العميل داخل علامة تبويبك. لا يُرسَل أي بكسل من صورتك إلى خادم ولا يُسجَّل ولا يُخزَّن. يمكنك التحقق بفتح DevTools ومراقبة لوحة Network أثناء إسقاط صورة: لا XHR، لا fetch، لا إشارة تحليلات مرتبطة بمحتوى الملف.
كيف يعمل المسح بالكاميرا؟
حين تُفعِّل وضع الكاميرا، يطلب المتصفح إذن الوصول إلى كاميرا جهازك عبر واجهة getUserMedia القياسية. تُلتقَط إطارات الفيديو في لوحة خارج الشاشة بدقة تصل إلى 640×480 وتُسلَّم إلى jsQR لفك التشفير. كل إطار يُحذَف فور وصول الإطار التالي، وتتوقف تدفق الكاميرا بعد أول عملية فك تشفير ناجحة. لا إطارات تُسجَّل، لا إطارات تُرسَل، وطلب الإذن يظهر فقط حين تُشغِّل التبديل، لا عند تحميل الصفحة.
لماذا يُكتشَف بعض محتوى QR تلقائيًا كـ Wi-Fi أو vCard؟
تتبع حمولات QR لبيانات اعتماد Wi-Fi التنسيق WIFI:S:ssid;T:type;P:password;;، وتبدأ bطاقات vCard بـ BEGIN:VCARD. يتعرف هذا القارئ على هذه الأنماط إلى جانب البادئات القياسية الأخرى (mailto: وgeo: وsmsto: وMECARD: وhttps://) ويُصنِّف نوع المحتوى تلقائيًا لكي يتطابق زر الإجراء مع ما تريد فعله بالحمولة.
لماذا لم يُمسَح رمز QR الخاص بي؟
الأسباب الشائعة: الصورة صغيرة جدًا أو منخفضة الدقة (حوالي 100×100 بكسل هو الحد الأدنى، و300×300+ يمسح بشكل موثوق)، أو الرمز تالف بشدة أو مغطى جزئيًا بشعار دون تصحيح أخطاء كافٍ، أو المنطقة الهادئة (الحدود الفارغة حول الوحدات) مفقودة أو مقطوعة، أو التباين بين الوحدات الداكنة والفاتحة منخفض جدًا. لوضع الكاميرا، حسِّن الإضاءة أو قرِّب الرمز من العدسة — تحتاج jsQR إلى رؤية الوحدات الفردية بوضوح للقفل على أنماط الباحث.