سعة رمز QR وتصحيح الأخطاء
تعرض أداة الاستعلام عن سعة رمز QR وتصحيح أخطائه الحد الأقصى لعدد المحارف التي تتسع لها أوضاع الأرقام والأبجدية الرقمية والبايت، وذلك لإصدار ومستوى تصحيح محددين من QR Code Model 2.
شغّل الأداة مجانًا
وهي تغطي جميع الإصدارات القياسية من 1 إلى 40 والمستويات L وM وQ وH. يمكنكم استخدامها لمقارنة حدود الحمولة قبل إنشاء الرمز، أو اختيار حجم مناسب، أو معرفة سبب اتساع مستوى تصحيح للمحتوى نفسه وعدم اتساع مستوى آخر له.
اختاروا الإصدار ومستوى التصحيح أولا
يحدد إصدار رمز QR أبعاد الرمز؛ إذ يبدأ الإصدار 1 بمصفوفة من 21 في 21 وحدة، ثم يضيف كل إصدار لاحق أربع وحدات إلى كل جانب حتى الإصدار 40. توفر الوحدات الإضافية مساحة أكبر، لكن مستوى تصحيح الأخطاء يحجز جزءا منها أيضا لبيانات الاسترداد. يترك المستوى L أكبر سعة للحمولة، بينما تخصص المستويات M ثم Q ثم H عددا متزايدا من كلمات الترميز للتصحيح. تتخذ هذه الأداة هذين الخيارين نقطة بداية ثابتة وتعرض ثلاثة حدود قصوى مفيدة. اختاروا إصدارا صحيحا من 1 إلى 40 وأحد الأحرف القياسية الأربعة. تتضمن النتيجة المستوى بصيغته الموحدة، وعدد كلمات ترميز البيانات المتاحة، والحد الأقصى للمحارف في كل وضع مدعوم. لا تفحص الأداة المحتوى ولا تختار الإصدار تلقائيا. لذلك تكون الإجابة قابلة للتوقع عند مراجعة مواصفة، أو التحقق من مكتبة QR أخرى، أو مقارنة إعدادات مرشحة قبل الترميز. ويؤدي أي إصدار أو مستوى غير معروف إلى خطأ بدلا من تقريبه أو استبداله دون تنبيه.
افهموا سبب تغير السعة باختلاف وضع الترميز
تختلف السعات الثلاث لأن أوضاع QR تحزم المحارف بمعدلات بت مختلفة. يخزن وضع الأرقام الخانات في مجموعات مضغوطة، ولذلك يتيح أكبر عدد من المحارف، لكنه يقتصر على الأرقام من صفر إلى تسعة. ويستخدم وضع الأبجدية الرقمية مجموعة QR المحدودة المكونة من 45 محرفا، وتشمل الأحرف اللاتينية الكبيرة والأرقام والمسافات وعددا قليلا من العلامات. أما وضع البايت فيخزن وحدات من ثمانية بتات، وهو المرجع العملي للنصوص العامة أو البيانات الثنائية، لذلك يكون حده الأقصى أقل. يبدأ الحساب من كلمات ترميز البيانات المتاحة بعد التصحيح، ويطرح مؤشر الوضع ذي الأربع بتات وحقل عدد المحارف المعتمد على الإصدار، ثم يجد أكبر حمولة ممكنة. تشير قيمة البايت إلى عدد البايتات لا إلى عدد الحروف الظاهرة. قد تشغل المحارف ذات العلامات والكتابات غير اللاتينية والرموز التعبيرية عدة بايتات في UTF-8. وقد يبدل المرمز الفعلي بين الأوضاع أو يضيف مؤشر ECI أو بيانات وصفية؛ لذا قارنوا تدفق البتات الدقيق عندما يكون المحتوى قريبا من الحد.
استخدموا النتيجة من دون ضمان قابلية المسح
تمثل السعة حدا صارما للتخزين وفق الوضع والإصدار ومستوى التصحيح المختارة، لكنها لا تضمن إمكانية مسح الرمز المطبوع أو المعروض بصورة موثوقة. يظل الحجم الفعلي للوحدات والمنطقة الهادئة والتباين والتركيز وتشوه السطح وعيوب الطباعة وظروف الكاميرا عوامل مهمة. قيسوا الحمولة أولا بالوحدة الصحيحة، ثم تأكدوا من أنها لا تتجاوز الحد المعروض. إذا تجاوزته، فيمكنكم اختيار إصدار أكبر، أو خفض مستوى التصحيح عندما تسمح البيئة، أو اختصار الحمولة، أو استخدام وضع مناسب أعلى كثافة. وإذا لم تتسع إلا عند الحد تماما، فاختبروا المرمز وأجهزة المسح المستخدمة في الإنتاج، لأن ترويسات الأوضاع أو المقاطع الإضافية قد تغير ميزانية البتات النهائية. يفيد التصحيح الأعلى في الملصقات المعرضة للخدش أو الحجب، لكنه يقلل السعة ما لم يكبر الرمز، وقد ينتج وحدات فعلية أصغر عند ثبات حجم الطباعة. تبلغ تكلفة كل طلب API مقدار $0.002، والنتيجة حتمية، مما يجعلها مناسبة لقواعد التحقق المتكررة وأدوات التوثيق وفحوص البناء.
حالات الاستخدام
التحقق من حدود الحمولة
ارفضوا المحتوى الذي لا يتسع له الإصدار ومستوى التصحيح ووضع الترميز المحددة في مواصفة المنتج.
مقارنة إعدادات QR
قارنوا تغير السعة بين L وM وQ وH قبل اختيار حجم الرمز.
توثيق قيود التكامل
انشروا الحدود الدقيقة لأوضاع الأرقام والأبجدية الرقمية والبايت لجهاز أو ملصق أو مسار ترميز.
الأسئلة الشائعة
ما إصدارات QR المدعومة؟
تدعم الأداة جميع إصدارات QR Code Model 2 من 1 إلى 40.
ما مستويات تصحيح الأخطاء التي يمكن استخدامها؟
استخدموا L أو M أو Q أو H. ترفض الأداة أي مستوى غير معروف.
هل تساوي سعة البايت عدد محارف النص؟
فقط عندما يشغل كل محرف بايتا واحدا. قد تشغل محارف UTF-8 عدة بايتات، لذا قيسوا طول البيانات بعد ترميزها.
لماذا يقلل التصحيح الأعلى السعة؟
تخصص كلمات ترميز إضافية لمعلومات الاسترداد، فتتبقى كلمات أقل للحمولة.
هل يشمل الحد الأقصى بيانات الوضع الإضافية؟
نعم. يراعي الحساب مؤشر الوضع ذي الأربع بتات وحقل عدد المحارف الذي يتغير حجمه حسب الإصدار.
ما تكلفة طلب API؟
تكلفة كل طلب API هي $0.002. الحساب حتمي ولا يستخدم أي خدمات خارجية.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/doc/qr-code-error-correction-capacity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"version":10,"level":"Q"}'const res = await fetch("https://api.kit.forhosting.com/doc/qr-code-error-correction-capacity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"version": 10,
"level": "Q"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/doc/qr-code-error-correction-capacity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"version": 10,
"level": "Q"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/doc/qr-code-error-correction-capacity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"version":10,"level":"Q"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"version":10,"level":"Q"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/doc/qr-code-error-correction-capacity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"version": 10,
"level": "Q"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "doc.qr_code_error_correction_capacity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
max_pages | 200 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |