تالار گفتگوی میکرو رایانه
http://www.microrayaneh.com/forum/

یونی کد چیست؟
http://www.microrayaneh.com/forum/viewtopic.php?f=91&t=241
صفحه 1 از 1

نویسنده:  andyishe [ جمعه 04 ژانویه, 2008 11:34 am ]
موضوع پست:  یونی کد چیست؟

توصیه می کنم قبل از مطالعه این مقاله ، مقاله زیر را بخوانید:

http://www.microrayaneh.com/Articles/Programming/Unicode.htm

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

نویسنده:  andyishe [ جمعه 04 ژانویه, 2008 11:37 am ]
موضوع پست:  کد ASCII

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

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

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

نویسنده:  andyishe [ جمعه 04 ژانویه, 2008 11:40 am ]
موضوع پست:  ابداع یونیکد

با ظهور یونی كد تقریبا می توان گفت مشكلات زبان های دیگر حل شده است. راز نهفته این استاندارد بهره گیری از 2 بایت برای نمایش كاراكترها است؛ بدین معنی كه 2 به توان 16 یا 65536 كاراكتر متفاوت در این سیستم تعریف شده است. بنابراین ، كاراكترهای موجود در هر زبان را می توان با استفاده از آن نشان داد. خوشبختانه كاراكترهای زبان فارسی نیز در این استاندارد جای داده شده اند و می توان به راحتی آن را به كار برد. پس دیگر نیازی نیست كه از روش های قبلی برای فارسی كردن برنامه های كاربردی استفاده شود. مشكلی كه در رابطه با یونی كد وجود دارد عدم پشتیبانی برخی از سیستم عامل ها، برنامه ها، زبان ها و مرورگرهای قدیمی مانند IE 4 و ویندوزهای نسخه های قدیمی مثل ویندوز 95 از این استاندارد است. (یعنی از ویندوز 98 و بعد از ان به صورت ذاتی در داخل سیستم عامل فونت ها قرار داده شده و نیازی نیست به روش های مختلف نرم افزاری یا سخت افزاری اقدام به نصب فونت های فارسی نمود و سیستم را فارسی کرد).

هم اکنون اغلب نرم افزارها، برنامه ها و سیستم عامل ها از این استاندارد پشتیبانی می كنند و بعضی نیز مانند XML ،Java و Jscript به كارگیری آن را لازم می دانند.

بنابراین وقتی كه شما از این استاندارد برای نمایش كاراكترهای فارسی استفاده می كنید، مثلا آنها را در یك صفحه وب به كار می گیرید، فردی كه این صفحه را در كامپیوتر شخصی خود نگاه می كند، نیازی به نصب فونت خاص یا مثلا فارسی ساز ندارد. این امر در واقع هدف نهایی یونی كد به معنای كد جهانی (Universal Code) است.

با هر كدام از اعداد 1 تا 65536 می توان یك كاراكتر را نمایش داد. این تعداد، همه كاراكترهای تمامی زبان ها را شامل می شوند و حتی خیلی بیشتر از تعداد كل كاراكترهای زبان های دنیا است. در حال حاضر، بسیاری از كدهای مذكور (اعداد 1 تا 65536) به كاراكتری نسبت داده نشده و رزرو شده اند تا اگر روزی كاراكتری یا زبانی اضافه شد و یا كاراكتری از قلم افتاده بود، از این كدهای رزرو شده استفاده شود.

::rose::

نویسنده:  golestan [ یکشنبه 06 ژانویه, 2008 9:24 am ]
موضوع پست:  Re: یونی کد چیست؟

اینهایی که نوشتی سوال خیلی هاست ولی اکثرشون نمیدونن که سوال اینجوری هم دارند ::winking:: ::laughing::
::smiling:: ::rose::

نویسنده:  razname [ دوشنبه 07 ژانویه, 2008 12:21 pm ]
موضوع پست:  Re: یونی کد چیست؟

مطلبي كه نوشتين سوال من هم بود.
ممنون از توضيحات تون.

::rose::

صفحه 1 از 1 همه زمانها به صورت UTC + 3:30 hours تنظیم شده.
طراحی سایت از میکرو رایانه