انواع سیستم های کد گذاری - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

انواع سیستم های کد گذاری

0 امتیاز
سلام در مورد انواع سیستم های کدگذاری و تفاوت آنها با یکدیگر در چی هست؟ مثلا ASCII و UNICODEو UTF
سوال شده اردیبهشت 25, 1399  بوسیله ی کاربر مهمان (امتیاز 11)   1 1 2

2 پاسخ

+1 امتیاز

سیستم اعدادی که سخت افزار کامپیوترعملا با آن کار می کند سیستم دودویی است و برای تشخیص حروف،اعداد و علائم مختلف به سیستم کدگذاری نیاز داریم. روشهای مختلفی برای کدگذاری در کامپیوتر استفاده میشود.  سه روش اسکی ASCII  یونیکدUNICODE و UTF.


کد اسکی :


کامپیوتر ها با عدد سروکار دارند نه با حروف. اگر داده ها بر اساس روش استاندارد و مشترکی کد گذاری نشوند، در زمان نمایش دادههای دریافتی به مشکل برخورد می کنیم.
فرض کنید:

در کامپیوتر 1 :عدد 1برای حرف ،Aعدد ۲برای حرف Bو عدد 3برای حرف ....... Cو عدد ۲6برای حرف Zدر نظر گرفته شده باشد.
در کامپیوتر 2 :عدد 0برای حرف ،Aعدد 1برای حرف Bو عدد ۲برای حرف ....... Cو عدد ۲5برای حرفZدر نظر گرفته شده باشد.
اگر کامپیوتر 1بخواهد واژه
I RANرا ارسال کند در واقع اعداد 1 ،18 ،9و 14ارسال میشوند ولی در کامپیوتر۲عدد 9معادل Jو عدد 18معادل Sو عدد 1معادل Bو عدد 14معادل حرف Oاست و کامپیوتر۲به جای واژه IRANعبارت JSBMرا نمایش می دهد. برای حل این مشکل به یک روش استاندارد برای کدگذاری نویسه ها( )Charactersنیاز داریم

کد گذاری اسکی ( )ASCII در ابتدا یک روش کد گذاری 7بیتی دارای 128 حالت شامل 0000000 تا 1111111بود که فقط 95 نویسه قابل چاپ داشت.
دراین کد گذاری برای حرف
از کد 65 استفاده میشود که کد دودویی آن 1000001است. اگر بخواهید واژه IRAN را ارسال کنید به ترتیب اعداد 65 ،82 ،73و 78ارسال میشوند که معادل دودویی آنها به صورت زیر خواهد بود:
1001001 1010010 1000001 1001110

بنابراین با وجود روش کدگذاری اسکی، رایانه مقصد هم به سهولت این اعداد را به واژه IRANتبدیل کرده و نمایش می دهد.
نوع توسعه یافته کد اسکی برای کدگذاری از 8 بیت استفاده می کند و به این ترتیب 256 نویسه کد گذاری می شود که تا 128کد آن همان اسکی استاندارد بوده و مابقی تا 256 دارای هیچ استانداردی نبوده و در کامپیوتر های مختلف ممکن است متفاوت باشد. برای مثال در کامپیوتر 1کد 150معادل
ûو در کامپیوتر 2کد 150 معادل حرف ب است. کدگذاری از 128به بعد در روش کدگذاری اسکی برای زبان های مختلف کاربرد دارد

 

پاسخ داده شده اردیبهشت 25, 1399 بوسیله ی COLD (امتیاز 200)   4 28 37
ویرایش شده اردیبهشت 25, 1399 بوسیله ی farnoosh
+1 امتیاز

Unicode یونیکد


اینترنت و جهانی شدن ارتباطات، سبب افزایش تبادل اطلاعات در کشورهای مختلف شد. از آنجا که الفبای زبان هایی مانند زبان های چینی و ژاپنی و... بیش از 128حرف دارند، کدگذاری اسکی برای کدگذاری این زبان ها مناسب نیست. بنابراین استاندارد جدیدی به نام یونیکد به وجود آمد. یونیکد به هر نویسه مستقل از محیط، برنامه و زبان یک کد منحصربه فرد به نام Code pointاختصاص می دهد. این استاندارد یک کد به نویسه های مشترک در چند زبان مختلف اختصاص می دهد. نسخه جدید یونیکد دارای 136690 Code   pointاست. Code   point 128ابتدایی یونیکد، همانند کدهای اَسکی هستند و در یونیکد نویسه ها به صورت 32بیتی تعریف میشوند. ولی بسیاری از نرم افزارها به ویژه برنامههای ارسال و دریافت اطلاعات دراینترنت با نویسه های 8بیتی کار می کنند و عملا نمی توان Code   point 136690را در 8بیت جا داد وبرای ارسال و دریافت 32بیت به پهنای باندی 4 برابر بیشتر نیاز است. در این موارد از 1UTF-8استفاده شد که مخفف قالب 8 بیتی انتقال مجموعۀ نویسه ای جهانی است.

 

Universal Character Set Transformation Format 8 bit :


UTF-8 یک رمزگذاری با طول متغیر 4 بایتی است. یک بایت برای حروف و علائم استاندارد انگلیسی که همان کدهای اسکی هستند، دو بایت برای بقیه حروف لاتین و نویسههای خاورمیانه و سه بایت برای شرق آسیا استفاده می شود. بقیه نویسه ها با چهار بایت نمایش داده می شوند.


با توجه به اینکه UTF-8 از کدهای 127برای نویسه های اسکی استفاده می کند، در تمامی نرم افزارهایی که از نویسه های 7بیتی پشتیبانی می کنند قابل پردازش است.


UTF-8 رایجترین روش رمزگذاری نویسه در میان تارنماها است. UTFدارای نسخه های مختلفی مانند UTF-32، UTF-16، UTF-8، UTF-7است و UTF-8 محبوبترین نوع کدگذاری یونیکد است

 

پاسخ داده شده اردیبهشت 25, 1399 بوسیله ی COLD (امتیاز 200)   4 28 37
ویرایش شده خرداد 22, 1399 بوسیله ی مصطفی ساتکی
...