کد ۱۲۸ ممکن است به صورت دو طرفه (از هر دو جهت) اسکن شود و محدودیتی هم برای تعداد کاراکترها در هر بارکد وجود ندارد. هر چند ممکن است طول بارکد با توجه به نوع اسکنر مورد استفاده و یا مکان مورد نظر برای چاپ بارکد محدود شود. اما این روش محدودیتی برای طول بارکد ایجاد شده ندارد.
کد ۱۲۸ سه مجموعه کاراکتری متفاوت دارد که در جدول مشخصات بارکد به نامهای Code Set A و Code Set B و Code Set C مشخص شده است. هر کدام از این سه مجموعه کد میتواند با کاراکتر شروع مربوط به خودش مورد انتخاب واقع شود. کاراکتر خاص «shift» در هر مجموعه به شما امکان میدهد تا بتوانید در بین یک کد ست از کد ستهای دیگر هم استفاده کنید با این توصیف امکان استفاده ازچند کد ست در یک بار کد وجود دارد. با استفاده از این روش طول بارکد چاپ شده میتواند به کمترین حد ممکن خود برسد.
در صورتی که دادهها فقط شامل اعداد باشد استفاده از مجموعه کد C باعث میشود تا طول بارکد چاپ شده به کمترین حد ممکن تقلیل پیدا کند. البته باید این نکته را در نظر داشته باشید که برای استفاده از Code Set C بایستی تعداد ارقام رشته ای که میخواهید بارکد آن را چاپ کنید زوج بوده و حداقل ۴ رقم و یا بیشتر طول داشته باشد.
هر کدام از مجموعه کدهای A، B، C یک یا چند کاراکتر برای توابع خاص رزرو کرده اند
از ویژگیهای کد ۱۲۸ استفاده از رقم کنترل برای بررسی صحت بارکد خوانده شده توسط دستگاه اسکنر بارکد میباشد.
- یک فضای یکنواخت و یا خالی در سمت چپ خطوط بارکد - کاراکتر شروع - تعداد نامحدودی از دادهها - رقم کنترل صحت - کاراکتر خاتمه - یک فضای یکنواخت و یا خالی در سمت راست خطوط بارکد - پهنای فضای یکنواخت و یا خالی حداقل باید ۱۰ برابر پهنای نازکترین خط / نازکترین فاصله خالی در بارکد باشد.هر کاراکتر در بارکد ۱۲۸ترکیبی از ۳ خط و ۳ فاصله است. (کاراکتر خاتمه دارای ۴ خط و ۳ فاصله میباشد). هر خط / فاصله خالی میتواند یکی از ۴ واحد پهنای مختلف را داشته باشد. نازکترین خط / فاصله خالی باید یک چهارم پهنترین خط/ فاصله خالی باشد. جدول مشخصات بارکد پهنای خط/ فاصله خالی برای همه مجموعه کاراکترهای مربوط به کد ۱۲۸ را نشان میدهد. دقت کنید که مجموع پهنای خطوط در هر یک از کاراکترها عددی زوج و مجموع فواصل خالی برای هر کدام از کاراکترها عددی فرد است. اولین ستون در جدول با عنوان «value» حاوی عددی است که برای محاسبه رقم کنترل بکار میرود.
رقم کنترل عبارت است از باقیمانده مجموع ارزش عددی محاسبه شده برای رشته قابل تبدیل تقیسم بر عدد ۱۰۳. برای محاسبه مجموع ارزش عددی رشته قابل تبدیل مقدار مربوط به کاراکتر شروع را با حاصلضرب موقعیت هر کاراکتر در مقدار مربوط به آن جمع میکنید و در نهایت عدد حاصل را به ۱۰۳ تقسیم میکنیم. باقیمانده بدست آمده از این تقسیم مقدار مربوط به کاراکتر رقم کنترل میباشد که باید در انتهای کاراکترها و قبل از کاراکتر Stop آورده شود.فرض کنید بخواهید عبارت Code ۱۲۸ را به بارکد تبدیل کنید. در صورتی که بخواهید از کاراکتر ست B برای این منظور استفاده کنید.
حرف | مقدار | مقدار مجموع | |
كاراكتر شروع كد ست B | Start B | 104 | 104 |
موقعيت 1 | C | 35 | 35 = 1*35 |
موقعيت 2 | o | 79 | 158= 2*79 |
موقعيت 3 | d | 68 | 204= 3*68 |
موقعيت 4 | e | 69 | 276 = 4*69 |
موقعيت 5 | 0 | 0= 5*0 | |
موقعيت 6 | 1 | 17 | 102= 6*17 |
موقعيت 7 | 2 | 18 | 126 = 7 * 18 |
موقعيت 8 | 8 | 24 | 192 = 8 * 24 |
جمع كل | 1197 |
11=103/1197 و باقیمانده برابر 64 است. بنابراین رقم کنترل برابر کاراکتری است که عدد موجود در ستون مقدار آن برابر 64 باشد.