پرش به مطلب اصلی

روش کدگذاری TBCD

· خواندن 2 دقیقه
علی
مهندس نرم‌افزار

کدگذاری، مشخص کننده ادبیات مشترک برای تعامل اجزاء یک سیستم با یکدیگر است. در صورت عدم کدگذاری صحیح اجزاء یک سیستم نمی‌توانند به درستی با یکدیگر تعامل کنند. به عنوان نمونه عبارت 01/11/06، بسته به روش کدگذاری استفاده شده می‌تواند بیانگر تاریخ ۱ نوابر سال ۲۰۰۶ و یا ۱۱ ژانویه سال ۲۰۰۶ باشد. این مثال به خوبی اهمیت موضوع کدگذاری را مشخص می‌کند.

یکی از روش‌های کدگذاری مورد استفاده در شبکه‌های مخابراتی، روش Telephony Binary-Coded Decimal یا به اختصار TBCD است. این روش برای کدگذاری مقادیری مانند IMSI، IMEI و برخی آدرس‌ها و شماره‌ها استفاده می‌شود. مثلا در سند 3GPP TS 29.338 به چند نمونه از آدرس‌هایی که با روش TBCD کدگذاری شده‌اند اشاره شده است.

روش کدگذاری TBCD برای نمایش اعداد بین ۰ تا ۹ و حروف a, b, c,#,* استفاده می‌شود. برای صرفه‌جویی در فضا، هر دو رقم متوالی در یکی بایت ذخیره می‌شوند، به عبارت دیگر برای ذخیره هر رقم از چهار بیت استفاده می‌شود. در صورتی که تعداد ارقام فرد باشد برای پر کردن ۴ بیت باقی‌مانده، از مقدار 1111 به عنوان پرکننده یا filler استفاده می‌شود.

اعداد ۰ تا ۹ با مقدار متناظر دودویی آن‌ها در نمایش ۴ بیتی کدگذاری می‌شوند و از مقادیر زیر برای حروف a, b, c, # ,* استفاده می‌شود.

حرفمقدار دودویی
*1010
#1011
a1100
b1101
c1110

در شکل زیر روش کدگذاری TBCD برای مقدار 43211 نمایش داده شده. ابتدا هر رقم را با مقدار دودویی ۴ بیتی متناظر تبدیل می‌کنیم. سپس هر دو رقم را در یک بایت قرار می‌دهیم، به این صورت که اگر بیت‌های موجود در یک بایت را از راست به چپ، از ۱ تا ۸ شماره‌گذاری کنیم، بیت‌های شماره ۱ تا ۴ برای نمایش رقم اول و بیت‌های شماره ۵ تا ۸ برای نمایش رقم دوم تخصیص می‌یابند. در این مثال با توجه به اینکه تعداد ارقام فرد است، از مقدار 1111 به عنوان پرکننده ۴ بیت خالی استفاده می‌شود که در شکل با رنگ قرمز نمایش داده شده است. در نهایت حاصل کدگذاری مقدار 0x3412F1 می‌باشد.

TBCD-String Encoding Example

تصویر زیر توضیحات کدگذاری TBCD است که در سند 3GPP TS 29.002 به آن اشاره شده.

TBCD-String Encoding