مولّد رموز QR
أنشئ رمز QR (باركود) وشاهد القرارات خلفه: تقسيم الأوضاع، والإصدار، ومستوى تصحيح الأخطاء، ودرجات الأقنعة الثمانية، وما يكلّفه شعار في المنتصف فعليًا.
https://seladevtools.com/qr-code-generator
الإصدار 3 · 29×29 وحدة · المستوى M · القناع 7
- الإصدار
- 3 · 29×29 وحدة
- المستوى
- M
- القناع
- 7 (أقل جزاء)
- البيانات
- 348 من 352 بت
- كلمات الرمز
- 44 بيانات + 26 تصحيح، في 1 كتلة
المقاطع
| الوضع | المحارف | البتات |
|---|---|---|
| byte | 42 | 348 |
جزاءات الأقنعة
| القناع | التتابعات | الكتل | شبيه التموضع | التوازن | المجموع |
|---|---|---|---|---|---|
| 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 |
تعاقب القواعد الأربع التتابعات الطويلة بلون واحد، وكتل 2×2، والنمط 1:1:3:1:1 الذي يخلط الماسح بينه وبين نمط التموضع، ونسبة داكنة بعيدة عن النصف. الأدنى يفوز؛ انقر صفًا لفرضه.
أربعة قرارات مختبئة داخل كل رمز QR
ألصق نصًا في مولّد رموز QR فيخرج لك مربع بالأبيض والأسود. ما لا يُعرض عليك أن المرمِّز اتخذ للتو أربعة قرارات منفصلة نيابة عنك، كل واحد منها يغيّر النتيجة، وكل واحد منها كان يمكن أن يُتخذ على نحو آخر.
تعرض هذه الأداة الأربعة جميعًا، لأنها الجزء المثير للاهتمام. وحين تراها، يتوقف السلوك الذي يبدو اعتباطيًا — قفزة الرمز في الحجم عند إضافة محرف واحد، أو شعار يعمل مع رمز ولا يعمل مع الذي يليه — عن كونه اعتباطيًا.
- تقسيم الأوضاع: يعرّف المعيار أربع طرق لحزم المحارف، ونصك يُوزَّع بينها.
- الإصدار: رقم من 1 إلى 40 يثبّت الشبكة بين 21×21 و177×177 وحدة.
- مستوى تصحيح الأخطاء: L أو M أو Q أو H، ويقرّر كم يمكن أن يُتلف من الرمز ويبقى مقروءًا.
- القناع: واحد من ثمانية أنماط تُطبَّق بعملية XOR فوق البيانات لتفكيك الأشكال التي تربك الماسح.
ولا واحد من الأربعة مسألة تفضيل. لكل منها جواب صحيح بالنظر إلى البقية، وهذا بالضبط ما يجعلها جديرة بالمتابعة: فهي تتفاعل فيما بينها.
تقسيم النص مسألة أقصر مسار
ينفق الوضع الرقمي 10 بتات على كل ثلاثة أرقام. وينفق الوضع الأبجدي الرقمي 11 بتًا على كل محرفين، من مجموعة قوامها 45: الأرقام والحروف الكبيرة والمسافة وتسع علامات ترقيم. وينفق وضع البايت 8 بتات لكل بايت UTF-8. أما وضع kanji فينفق 13 بتًا على محرف يكلّف وضع البايت 24 بتًا.
ولذلك نادرًا ما يكون الترميز الأرخص وضعًا واحدًا للسلسلة كلها — لكن التبديل ليس مجانيًا أيضًا، إذ يدفع كل مقطع مؤشر وضع بأربعة بتات وحقلًا لعدّ المحارف. وما إذا كان يستحق فصل سلسلة من الأرقام يعتمد على طولها. وهذا يجعل التقسيم مسألة أقصر مسار، وهذا المرمِّز يحلّها حلًا مضبوطًا لا بقاعدة تخمينية.
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
تسعة وعشرون بتًا، وهي في الإصدار 1 الفرق بين أن يتّسع وألا يتّسع. ويعرض جدول المقاطع في الصفحة التقسيم الذي اختاره المرمِّز فعلًا وكم كلّف كل مقطع، فترى أي المحارف باهظ الثمن.
الإصدار والتقسيم يطارد كل منهما الآخر
وهنا التعقيد الذي يجعل المرمِّز الساذج مخطئًا. فحقل عدّ المحارف ليس ثابت العرض. هو 8 بتات لوضع البايت في الإصدارات من 1 إلى 9، و16 بتًا من الإصدار 10 فصاعدًا؛ والوضع الرقمي يمرّ بـ10 ثم 12 ثم 14 عبر الحدود نفسها.
ومعنى ذلك أن كلفة التقسيم تعتمد على الإصدار، والإصدار يعتمد على كلفة التقسيم. والمخرج أن نلاحظ وجود ثلاث مجموعات للإصدارات فقط، فيُحسب التقسيم مرة لكل مجموعة ويفوز أصغر إصدار يتّسع في أي منها.
- الإصدارات 1–9: الرقمي 10 بتات، والأبجدي الرقمي 9، والبايت 8، وkanji 8.
- الإصدارات 10–26: الرقمي 12، والأبجدي الرقمي 11، والبايت 16، وkanji 10.
- الإصدارات 27–40: الرقمي 14، والأبجدي الرقمي 13، والبايت 16، وkanji 12.
القناع يُختار بأربع قواعد جزاء
البيانات في رمز QR قريبة من العشوائية، والأسود والأبيض العشوائيان ينتجان أشكالًا قد يخلط الماسح بينها وبين الأنماط البنيوية التي يبحث عنها. والعلاج أن تُطبَّق عملية XOR على منطقة البيانات بنمط منتظم مختار لتفكيك تلك الأشكال. وهي ثمانية، والمرمِّز يجرّبها كلها.
ويُقيَّم كل رمز مقنَّع بأربع قواعد من المعيار، ويفوز المجموع الأدنى. ويعرض الجدول في الصفحة الدرجات الثماني كلها مفصّلة بحسب القاعدة، والنقر على صف يفرض ذلك القناع لترى الأثر.
- التتابعات: ثلاث نقاط لكل خمس وحدات متجاورة بلون واحد في صف أو عمود، ونقطة لكل وحدة بعدها.
- الكتل: ثلاث نقاط لكل مساحة 2×2 بلون واحد.
- شبيه التموضع: أربعون نقطة للتتابع 1:1:3:1:1 داكن-فاتح-داكن-فاتح-داكن بجوار أربع وحدات فاتحة — النمط الذي يشبه مربعات الأركان.
- التوازن: عشر نقاط لكل 5% كاملة تبتعد بها نسبة الوحدات الداكنة عن النصف.
وتختلف التطبيقات اختلافًا طفيفًا هنا — في ما إذا كان النمط 1:1:3:1:1 يُحتسب عند مقاييس أكبر، وفي ما إذا كانت معلومات التنسيق تدخل في الدرجة. ويتبع هذا المرمِّز القراءة التي يستعملها ZXing، وهي ما يعمل على أغلب كاميرات الهواتف، وهو مثبَّت مقابل تطبيقين مستقلين. ولا ينتج عن هذا الخلاف رمز غير صالح قط؛ إنما يحدّد أي الأقنعة المقروءة تمامًا يُنتقى.
ما يكلّفه شعار في المنتصف فعليًا
يردّد الجميع القاعدة نفسها: المستوى H يستعيد 30%، إذن يمكنك تغطية 30% من الرمز. وهذا شكل خاطئ من الجواب، واتّباعه سيسلّمك في النهاية رمزًا لا يُمسح.
تصحيح الأخطاء في رمز QR ليس بركة واحدة. تُقسَّم البيانات إلى كتل Reed-Solomon، لكل منها كلمات تصحيح خاصة، وتتشابك الكتل عبر الشبكة كلها ليصيب الخدشُ عدةَ كتل قليلًا بدل أن يصيب واحدة كثيرًا. وكل كتلة تحتمل فقدان نحو نصف كلمات تصحيحها وتُبنى من جديد. والشعار في المنتصف مربع مصمت، وهو تمامًا الشكل الذي صُمم التشابك لتوزيعه — لكنه لا يتوزّع بالتساوي أبدًا.
فالسؤال ليس ما نسبة الرمز المغطاة. السؤال كم فقدت الكتلة الأشد تضررًا. وهذه الصفحة تعرف إلى أي كلمة رمز تنتمي كل وحدة ومن أي كتلة جاءت كل كلمة رمز، فتستطيع الإجابة مباشرة: ارفع شعارًا وستبلغك بالضرر لكل كتلة وبالمتّسع المتبقي لأسوئها.
- تغطية نمط تموضع أو نمط توقيت أو معلومات التنسيق ليست مسألة ميزانية — فهي لا تحمل تصحيح أخطاء، والماسح الذي لا يعثر عليها لا يصل أصلًا إلى مرحلة التصحيح.
- رقم نصف كلمات التصحيح حدّ أعلى. فالطباعة والوهج والأسطح المنحنية والتآكل تنفق من الميزانية نفسها، والرمز الذي يقف عند الحد بالضبط على الشاشة ليس عند الحد على كوب.
- ورفع المستوى إلى H لاستيعاب شعار أكبر يكلّف عادةً إصدارًا كاملًا، والرمز الأكبر مطبوعًا بالحجم نفسه وحداته أصغر — وقد يكون ذلك خسارة لا مكسبًا. ولا تكون النقلة مجانية إلا ما دام الرمز صغيرًا، وبعد الإصدار 5 لا تكون كذلك أبدًا.
تنسيقات الحمولة، وأين تعضّ
رمز QR لشبكة Wi-Fi أو بطاقة اتصال ليس إلا نصًا في شكل تعرفه الماسحات. والأشكال بسيطة؛ أما قواعد الهروب فهي حيث تنكسر الرموز الحقيقية، وهي أعطال صامتة — يُمسح الرمز مسحًا سليمًا ويعطي الجواب الخطأ.
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 تُنهي الفاصلة المنقوطة حقلًا، فكلمة مرور تحوي واحدة تقتطع بيانات الاعتماد ما لم تهرب — وكذلك الفاصلة والنقطتان وعلامة الاقتباس والشرطة المائلة العكسية. واسم شبكة مكوّن من أرقام ست عشرية فقط يجب أن يُحاط بعلامتي اقتباس، وإلا قُرئ كقيمة ست عشرية لا كنص. وفي vCard الفواصل هي الفاصلة المنقوطة والفاصلة، والسطر الذي يتجاوز 75 ثمانية يجب أن يُطوى إلى سطر متابعة يبدأ بمسافة، ونهاية السطر هي CRLF.
وتطبّق البُناة هنا ذلك كله وتخبرك بما فعلته، بدل أن تعيد كتابة مدخلاتك بصمت. فإذا ظهرت ملاحظة تحت الحقول فقد احتاج شيء في نصك إلى معالجة — وهو ما يستحق عادة أن تعرفه قبل طباعة ألف ملصق.
الأسئلة الشائعة
- لماذا كبر الرمز كثيرًا بعد إضافة محرف واحد؟
- لأنها غيّرت تقسيم الأوضاع أو الإصدار أو كليهما. حرف صغير واحد في سلسلة كلها حروف كبيرة قد يدفع مقطعًا كاملًا من الوضع الأبجدي الرقمي إلى وضع البايت، وثمنه ثمانية بتات للمحرف بدل خمسة ونصف. والانتقال من الإصدار 9 إلى 10 يوسّع بذاته كل حقل لعدّ المحارف. وجدول المقاطع يُظهر أين ذهبت البتات.
- أي مستوى لتصحيح الأخطاء أختار؟
- المستوى M هو الافتراضي المعقول وهو ما تستعمله أغلب الرموز في الواقع. انتقل إلى Q أو H حين يُطبع الرمز صغيرًا، أو على سطح منحنٍ، أو على شيء يُتداول باليد، أو حين تغطي المنتصف بشعار. ولا تنتقل إلى L إلا حين تكون الحمولة طويلة والرمز يُقرأ من شاشة. وأما هل تكلّف النقلة شيئًا فذلك يتوقف على ما بقي للحمولة من متّسع داخل الإصدار الذي تشغله أصلًا: فإن ظلّت تسع في المستوى الأقوى لم يكبر الرمز البتة، وهذه الصفحة تأخذ تلك الترقية من تلقاء نفسها وتخبرك بها في سطر المستوى، بينما يعرض سطر البيانات البتات المستعملة إزاء المتاحة. وهذا المتّسع لا يوجد إلا في الرموز الصغيرة. فمستوى واحد أعلى يبقى في الإصدار نفسه حتى الإصدار 5، ومستويان حتى الإصدار 2 فحسب، ومن L إلى H لا يبقى قط بعد الإصدار 1 — إذ ابتداءً من الإصدار 6 لا يسع المستوى الأقوى في أي إصدار أكثر مما يسعه الأضعف في الإصدار الذي قبله. وبعد ذلك تكلّف كل نقلة إصدارًا على الأقل، والرمز الأكبر مطبوعًا بالحجم نفسه وحداته أصغر.
- ما أكبر شعار يمكن وضعه في المنتصف؟
- ارفعه وستخبرك الصفحة، لأن الجواب الأمين يعتمد على الإصدار والمستوى وموضع الكتل. وما لن تفعله هو تكرار قاعدة الـ30%، فهي عن كلمات الرمز لا عن المساحة، وعن الرمز كله لا عن الكتلة الأسوأ. وكنقطة انطلاق، 15% من الضلع في المستوى H مريحة عادة و25% ليست كذلك عادة.
- هل كتابة الرابط بحروف كبيرة تصغّر الرمز فعلًا؟
- غالبًا نعم. فالوضع الأبجدي الرقمي لا يضم حروفًا صغيرة، ولذلك يذهب الرابط الصغير إلى وضع البايت بثمانية بتات للمحرف بينما يتّسع الرابط الكبير في الوضع الأبجدي الرقمي بخمسة ونصف. والمخطّط والمضيف غير حسّاسين لحالة الأحرف، فـHTTPS://EXAMPLE.COM يعمل تمامًا مثل https://example.com — أما المسار فحسّاس ويجب ألا يُمس. والصفحة تقيس التوفير على رابطك أنت وتعرض التغيير حين يفيد فقط.
- هل يستحق وضع kanji العناء للنص الياباني؟
- نعم — فهو 13 بتًا للمحرف حيث يكلّف وضع البايت في UTF-8 أربعة وعشرين، فيخرج النص الياباني بنحو نصف الحجم. وهو يغطي مدى Shift_JIS ثنائي البايت، الذي يشمل الكانا وكانجي JIS X 0208 وكذلك اليونانية والسيريلية. وهذه الصفحة تحمّل جدول التطابق فقط حين لا يكون نصك ASCII صرفًا، فالرمز الذي يحمل رابطًا لا ينزّله أبدًا.
- هل أفعّل التصريح بـ UTF-8؟
- في العادة لا. يقول المعيار إن وضع البايت هو ISO-8859-1 ما لم تقل ترويسة ECI غير ذلك، لكن كل ماسح صُنع في هذا القرن يعامله عمليًا على أنه UTF-8، وهذا ما يكتبه هذا المرمِّز. والتصريح صراحةً يكلّف 12 بتًا ويربك بعض القارئات الصناعية القديمة. فعّله إن كنت تستهدف قارئًا بعينه يوثّق دعم ECI.
- لماذا لا يوجد Micro QR ولا رمز متعدد الأجزاء؟
- كلاهما موجود في المعيار وكلاهما سيسلّمك شيئًا لا يُمسح. فـMicro QR سيميولوجيا منفصلة بجداول سعة وأقنعة وترميز تنسيق خاصة بها، ومعظم تطبيقات كاميرات الهواتف لا تقرؤها. وStructured Append يوزّع الحمولة على ما يصل إلى ستة عشر رمزًا لا يعيد تجميعها أي ماسح استهلاكي تقريبًا. فإذا لم تتّسع بياناتك في الإصدار 40، فالجواب أن تضع رابطًا في الرمز والبيانات خلفه.
- ما أصغر حجم يمكن طباعة رمز QR به؟
- القاعدتان التقريبيتان المعتادتان أن تكون الوحدة 0.4 مم على الأقل في الطباعة، وأن يكون الرمز كله نحو عشر مسافة المسح — فمن متر واحد يحتاج نحو عشرة سنتيمترات عرضًا، وهذا العرض مقسومًا على عدد الوحدات هو الوحدة. وليس أيّ من الرقمين في ISO/IEC 18004، إذ يترك المعيار الحجم للتطبيق؛ وأقرب رقم معياري هو رقم GS1 General Specifications، التي تُبقي الوحدة بين 0.396 مم و0.990 مم لرمز يُمسح عند صندوق المحاسبة في متجر. أما ما يحدده المعيار فهو المنطقة الهادئة — هامش صافٍ بأربع وحدات من كل جانب — وهي القيد العملي، لأن أشيع أعطال الواقع رمز ملاصق لعناصر تصميم أخرى. والإصدار وعدد الوحدات المعروضان في الصفحة هما ما تحتاجه لهذا الحساب.
- هل تُرفع حمولتي أو شعاري إلى أي مكان؟
- لا. المُرمِّز يعمل في تبويب المتصفح هذا: الحمولة تتحول إلى وحدات هنا، والشعار الذي تختاره يُقرأ في التبويب ويُكتب داخل الرمز نفسه كعنوان بيانات، وما تنزّله من SVG أو PNG يُبنى هنا أيضًا. ولا شيء مما تعطيه لها يغادر هذا التبويب، ولا شيء يُخزَّن في أي مكان: كلمة مرور Wi-Fi أو بطاقة اتصال لا تصل إلى خادم أبدًا. ومع ذلك قد يتسبب ما تكتبه في طلب واحد، وهو مسمّى هنا لا مُغفَل: نص فيه محرف خارج ASCII الصرف يجعل الصفحة تطلب جدول تطابق Shift_JIS الخاص بها، وهو ملف ثابت يُقدَّم من هذا الموقع كما تُقدَّم الصفحة نفسها. وهو لا يحمل شيئًا مما كتبته، وما يكشفه هو أن محرفًا ما لم يكن ASCII، والرمز الذي يحمل رابطًا عاديًا لا يطلبه أبدًا.
أدوات ذات صلة
- مولّد UUID
الإصدار 4 (عشوائي) والإصدار 7 (مرتَّب زمنيًا).
- مولّد الرموز العشوائية
ولّد مفاتيح وأسرارًا وعبارات مرور آمنة.
- مولّد بيانات وهمية
بيانات اختبار ببذرة، أرقام تحققها وحسابات IBAN فيها صحيحة فعلًا.