تبلیغات
آسان دانلود
نویسندگان
آمار بازید
کل بازدید ها :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل مطالب :
آخرین بروز رسانی :
اَبر برچسبها
درباره ما

مثل هیچکدام

Kamb
ایجاد کننده وبلاگ : k4ambiz



غلب نوآوری های جدید با پیچیدگی ها و جزئیات زیادی همراه است و در ظاهر دارای سادگی استفاده نیستند. این عوامل سبب می شوند كه كاربران روی خوشی به آنها نشان ندهند هرچند در بعضی از موارد به ناچار آن را فرا گرفته و مورد استفاده قرار دهند. ولی یونیكد (Unicode) از این قاعده مستثنی است و کلا یك ابداع جدید است. برای روشن

 تر شدن موضوع ، در این مقاله به شناخت ماهیت یونی كد می پردازیم .

قبل از درك مفهوم یونی كد، بد نیست درباره سیستم های كدگذاری بیشتر بدانیم. همان طور كه می دانید هر داده ای كه در كامپیوتر وجود دارد حتی تصاویر یا فیلم ها، به‌ صورت یك سری از ارقام در مبنای 2 ذخیره می شود. این داده ها در اصل از رقم های صفر و یك تشكیلشده و به صورت خاصی ذخیره شده اند. ما می توانیم اطلاعاتی مانند یك تصویر را طبق الگوریتم هایی ذخیره كرده و آن را مشاهده یا ویرایش كنیم. تمامی حروف و اعدادی كه نمایش داده می شوند نیز به همین شكل هستند. اختصاص دادن یك عدد خاص یا در نظر گرفتن قالب خاص برای كاراكترها را كه به صورت استانداردهای جهانی در می آیند و مانند استاندارد ASCII و یا یونی كد در سیستم های كامپیوتری از آنها استفاده می شود، كدگذاری می گوییم.

 کد ASCII

كد ASCII از اجداد پیشین یونیکد است. کدهایASCII دارای محدودیت های فراوانی بودند. همان طور كه گفتیم هر كاراكتری كه در كامپیوتر نشان داده می شود از یك سری صفر و یك (یا بیت) تشكیل شده است كه مجموعه این بیت ها، یك كاراكتر را مشخص می كند و این صفر و یک ها را (که معمولا د ربمنای 16 و یا احیانا در مبنای 10

نمایش داده می شوند) كد كاراكتر گویند.

در سیستم كدگذاری ASCII برای نمایش كاراكترها از یك بایت استفاده می شود و لذا می توان نتیجه گرفت كه با سیستم کدگذاری ASCII روی هم رفته می توان 2 به توان 8 یعنی 256 كاراكتر را کدگذاری کرد، یعنی تنها یك قالب یك بایتی كه شامل حروف A تا Z و a تا z ، اعداد ، كاراكترهای كنترلی و برخی نمادها (كاراكترهایی برای نمادهای

خاص مثل $ و @ و ...).

از گفته های بالا نتیجه می گیریم كه در سیستمASCII جایی برای كاراكترهای دیگر زبان های دنیا مانند روسی، اسپانیایی، چینی، فارسی و غیره وجود ندارد و این كشورها برای نمایش كاراكترهای مربوط به خود از روش های متفاوتی مانند نگاشت (Mapping) و یا ماسك (Mask) كه همیشه دارای مشكلات فراوانی بود، استفاده می كردند. البته این مشكلات بیشتر گریبانگیر برنامه نویسان و طراحان بود. 

تقسیم بندی کدهای ASCII :

کدهای اسکی به 3 بخش تقسیم می شوند:

1-               کدهای سیستم Non Printable :بین 0 تا 31 هستند.

2-               کدهای سیستم Lower ASCII :بین32 تا 127 هستند که از کد های اسکی قدیمی پیروی میکردند که بر اساس 7 بیتی بودن قرار میگرفتند که ما ایرانیان به خوبی با آن آشنا هستیم.وقتی فونت فارسی نداریم یا فراموش میکنیم صفحه راunicode کنیم این کدها ظاهر می شوند و که اصولا مخصوص زبان های خارجی است

3-      کد های سیستم Higher ASCII :بین 128تا 255 هستند.این کدها قابل برنامه ریزی هستند یعنی اینکه می توان  تبادلات داشته باشن که در کدام زبان اصلی قرار بگیرند.

کدگذاری چیست و چرا کدگذاری می کنیم؟

به دلیل اینکه کامپیوترها فقط اعداد Binary یا دودویی (1و0)  را می فهمند، بنابراین تمام اطلاعات در هنگام ورود به  کامپیوترها باید بصورت داده های دودویی نشان داده شوند . برای این منظور اطلاعات  کد گذاری میشوند. یعنی اطلاعات ورودی همچون حروف و یا علائم و ... بصورت یکسری اعداد صفر یا یک در می آیند.

هر کاراکتر در روش ASCII با 7 یا 8 بیت نمایش داده می شود.

کد گذاری ASCII از 7 یا 8 بیت استفاده می کند و حروف را به لاتین نمایش می دهد و می تواند تا 256 کاراکتر را نمایش دهد. این کدگذاری علائم ریاضی و علمی را نمی تواند پشتیبانی کند.

کد گذاری دیگر UNICODE یا Universal Code  یا همان کد جهانی است

کد جهانی یک استاندارد 16 بیتی کدگذاری برای نمایش حروف و علائم در بیشتر زبانهای جهان است.

اگر شما در Browser اینترنت اکسپلورر  در صفحه راست کلیک کرده و روی Encoding  قرار بگیریدUnicode را خواهید دید. از آنجائیکه Unicode  از 16 بیت استفاده می کند. بنابراین می تواند 64000 کاراکتر را نمایش دهد. یک کاراکتر در کد جهانی با 16 بیت دودویی نمایش داده می شود که معادل 4 رقم در سیستم اعداد در مبنای 16 می باشد. مثلا کاراکتر B در روش کد گذاری Unicodeمعادل U0041H است که در آن U  معرفUnicode می باشد.

سیستم کدگذاری اسکی شامل اعداد 16­ (00) تا16(FF) می باشد. برای تبدیل کد اسکی به کد جهانی باید دو صفر (00)  به سمت چپ کد اسکی اضافه نمود. بنابراین کد جهانی، سیستم کد اسکی را با (0000)16   تا (00FF)16 نمایش می ده. برای مثال کاراکتر A با کد جهانی معادل U0041H می باشد. کد جهانی به بلوکهایی از کد تقسیم بندی می شود که هر بلوک آن اختصاص به یک زبان دارد.

یونی‌کد به هر نویسه یک اعداد یکتا اختصاص می‌دهد،

مستقل از محیط،

مستقل از برنامه،

و مستقل از زبان.

اصولاً کامپیوترها فقط با عددها کار می‌کنند و حروف و نویسه‌های دیگر را با تخصیص عددی به هر یک از آنها ذخیره می‌کنند. تا قبل از اختراع یونی‌کد، صدها سیستم کُدگذاری مختلف برای تخصیص این اعداد وجود داشت. نویسه‌های هیچ کُدگذاری‌ای به‌تنهایی کافی نبود: مثلاً اتحادیهٔ اروپا به چندین کُدگذاری مختلف برای در بر گرفته شدن همهٔ زبان‌هایش نیاز داشت. حتی برای زبانی مثل انگلیسی نیز هیچ کُدگذاری‌ای به‌تنهایی برای همهٔ حروف، علایم نقطه‌گذاری، و نمادهای فنی متداول کافی نبود.

این سیستم‌های کدگذاری با هم تعارض نیز داشتند. یعنی دو کُدگذاری مختلف ممکن بود از اعداد یکسانی برای دو نویسهٔ مختلف، یا از اعداد مختلفی برای نویسه‌های یکسان استفاده کنند. با وجود این که هر کامپیوتری (بالاخص کارگزارهای شبکه) لازم است از کُدگذاری‌های مختلف و متعددی پشتیبانی کند، هرگاه داده‌ها از کُدگذاری‌ها یا محیط‌های مختلف عبور کنند، در معرض خطر تحریف قرار می‌گیرند.

دربارهٔ کنسرسیوم یونی‌کد

کنسرسیوم یونی‌کد سازمان غیرانتفاعی‌ای است که برای بهبود، گسترش، و ترویج استفاده از استاندارد یونی‌کد تأسیس شده است، استانداردی که شیوهٔ بازنمایی متون را در محصولات نرم‌افزاری و استانداردهای امروزی مشخص می‌کند. اعضای این کنسرسیوم طیف گسترده‌ای را از شرکت‌ها و سازمان‌های فعال در صنعت پردازش اطلاعات، در بر می‌گیرند. پشتیبانی مالی این کنسرسیوم صرفاً از طریق حق عضویت اعضا است. عضویت در کنسرسیوم یونی‌کد برای سازمان‌ها و افراد هر جای دنیا که استاندارد یونی‌کد را پشتیبانی کنند و بخواهند در گسترش و پیاده‌سازی آن کمک کنند، آزاد است.