ধারণক্ষমতা কীসে নির্ধারিত হয়
কতটা ধরবে তা ঠিক করে তিনটি জিনিস: ভার্সন, এরর কারেকশন লেভেল ও এনকোডিং মোড। বড় ভার্সনে মডিউল বেশি, নিচু এরর কারেকশন লেভেলে ডেটার জন্য আরও বেশি মডিউল থাকে, আর সংখ্যার মতো সংক্ষিপ্ত মোড প্রতি বিটে বেশি অক্ষর ধরায়।
প্রকাশিত সংখ্যাগুলো হলো পুরোটা একটিমাত্র মোডে থাকা কনটেন্টের সর্বোচ্চ মান। বাস্তব কনটেন্ট, যেমন ছোট-বড় হাতের অক্ষর ও চিহ্নসহ URL, সাধারণত বাইট মোডে পড়ে এবং কম অক্ষর ধরে।
দুই প্রান্তের ধারণক্ষমতা
নিচের তালিকা সবচেয়ে ছোট ও সবচেয়ে বড় QR কোড দেখায়। অন্য প্রতিটি ভার্সন ও লেভেলের মান এর মাঝখানে পড়ে।
- ভার্সন ১-L: ৪১টি সংখ্যা, ২৫টি অক্ষর-সংখ্যা মিশ্র অক্ষর, ১৭ বাইট, ১০টি কাঞ্জি
- ভার্সন ১-H: ১৭টি সংখ্যা, ১০টি অক্ষর-সংখ্যা মিশ্র অক্ষর, ৭ বাইট, ৪টি কাঞ্জি
- ভার্সন ৪০-L: ৭,০৮৯টি সংখ্যা, ৪,২৯৬টি অক্ষর-সংখ্যা মিশ্র অক্ষর, ২,৯৫৩ বাইট, ১,৮১৭টি কাঞ্জি
- ভার্সন ৪০-H: ৩,০৫৭টি সংখ্যা, ১,৮৫২টি অক্ষর-সংখ্যা মিশ্র অক্ষর, ১,২৭৩ বাইট, ৭৮৪টি কাঞ্জি
বাস্তবে ধারণক্ষমতা
অনেক কিছু রাখা যায় বলেই যে রাখা উচিত, তা নয়। সর্বোচ্চের কাছাকাছি কোডে মডিউল অতি ছোট, তাই বড় করে ছাপতে হয়, হাত স্থির রাখতে হয় ও ভালো ক্যামেরা লাগে; কম আলোয় এটি বেশি ব্যর্থ হয়।
লিংকের জন্য ছোট URL কোডকে ছোট ও মজবুত রাখে। vCard বা Wi-Fi-এর তথ্যের মতো কনটেন্টে ঐচ্ছিক ক্ষেত্র ছেঁটে ফেললেও একই ফল মেলে। বাইট সংখ্যা এনকোড হওয়া বাইটকে বোঝায়, তাই UTF-8-এ যেসব মৌলিক ল্যাটিনের বাইরের অক্ষর একাধিক বাইট নেয়, সেগুলো কত অক্ষর ধরবে তা কমিয়ে দেয়।