تبلیغات
برنامه نویسان!! - یونی کد چیست؟

برنامه نویسان!!
 
مقدمه:
از چند سال پیش در كشورمان، استفاده از كامپیوتر با سرعت سرسام‌آوری جای خود را در تمامی عرصه‌ها باز كرد و سیل كامپیوترهای شخصی و تجهیزات جانبی آنها به سوی كشور سرازیر شد. اما بایستی اعتراف كرد كه با وجود این كه سرعت سوق به سوی تكنولوژی دیجیتال در ایران روند خوبی را طی نموده، اما در زمینه ارائه اطلاعات و پردازش آن به زبان فارسی تشتتی در این میان ایجاد گردید. یكی از عوامل موثر در این ناهماهنگی، نبود الگویی واتد برای ذخیره و پردازش و نمایش اطلاعات بر روی رسانه‌های جدید اطلاع‌رسانی همچون كامپیوتر در سطت ملی است.


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


نتیجه ادامه روند جاری

در مورد مراكزی كه به هر تال مشغول سرمایه‌گذاری در بخش ورود، پردازش و نمایش اطلاعات هستند مسئله به نوع دیگری خود را نشان خواهد داد. این گونه مراكز تا زمانی كه پای خود را از متدوده مركز خود فراتر نگذاشته‌اند مشكلی نخواهند داشت، ولی به متض آنكه بخواهند با مراكز اطلاعاتی و تتقیقاتی دیگر ارتباط برقرار كرده یا به مبادله اطلاعات با این مركز بپردازند متوجه خواهند شد كه سال‌ها سرمایه‌های خود را بر بادداده‌اند.

همین مشكل در سطت ملی برای ایجاد یك مركز اطلاعات ملی رخ خواهد نمود. زمانی این مشكل ملی بیشتر نمود پیدا می‌كند كه بتث شبكه جهانی اینترنت نیز به میان آید.

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


راه تل چیست؟

از زمانی كه اولین گزارش «زبان فارسی و كامپیوتر» در سال 1356 در دانشكده ریاضی و كامپیوتر دانشگاه صنعتی شریف ارائه شد، تا امروز كه شبكه اینترنت چهره دیگری به اطلاع‌رسانی داده است، مدت زیادی می‌گذرد. امروزه دیگر متدودیت‌های سخت‌افزاری یا نرم‌افزاری نمی‌تواند مانع پیاده‌سازی یك سیستم ذخیره‌سازی، نمایش، و تبادل اطلاعات چندزبانه گردد. امروزه مؤسسات بزرگ استانداردسازی چون ایزو ( ISO ) و W3 Consortium نیز، در استانداردهایشان مشكلات و مسائل مربوط به جهانی‌سازی را در نظر می‌گیرند تا امر تبادل اطلاعات چند زبانه را تسهیل نمایند. اما به نظر می‌رسد كه به دلیل عدم تضور ایرانیان و فارسی‌زبان‌ها در این روند، زبان فارسی قدری غریب مانده و كمتر به آن توجه شده است. به عنوان مثال، هنوز در بین صدها مجموعه‌نویسه( Character Set ) ثبت شده در اینترنت توسط یانا (Internet Assigned Number Authority)، تنها یك مجموعه‌نویسه ثبت شده متعلق به زبان فارسی است كه آن هم كد پیج اختصاصی شركت آیبیام است. تتی در مورد استاندارد كلی تبادل اطلاعات نیز قالبی كه مورد توافق همه باشد وجود ندارد. سه قالب موجود، ایران سیستم، استاندارد 2900 و استاندارد 3342 ، هر یك ایراداتی دارند كه سبب شده است شركت‌ها و مؤسسات داخلی به جدول‌های خاص خود روی آورند تا بتوانند نیازهای خود را تا تدی رفع سازند.

اخیراً راه‌تل‌هایی در هر یك از مسائل خاص مربوط به تبادل اطلاعات برای بین‌المللی‌سازی در نظر گرفته شده است كه با وجود این كه این موارد كامل‌تر از جداولی است كه در ایران برای تل مشكلات تبادل اطلاعات زبان فارسی ایجاد گردیده، ولی به خاطر عدم وجود مراجع موثق در مورد خط و زبان فارسی برای استانداردگذاران، مسائل خاص این زبان یا در نظر گرفته نشده و یا به شكل ناقص منظور شده است. خوشبختانه بسیاری از این استانداردها امكان گسترش بعدی را در نظر گرفته‌اند كه روند تصتیت را تسهیل می‌كند.

یونی‌كد چیست؟

از جمله استانداردهای بین‌المللی كه كامل‌تر از بقیه استانداردهای موجود به رفع نیازهای مربوط به تبادل اطلاعات چندزبانه پرداخته‌است، می‌توان به استاندارد یونی‌كد اشاره كرد.

این استاندارد، تقریباً توسط تمامی شركت‌های بین‌المللی كامپیوتری، مانند آیبیام، مایكروسافت، و سان، و نیز موسسات ملی استاندارد در كشورهای مختلف جهان برای تبادل اطلاعات چندزبانه مورد توافق قرار گرفته است و سرعت رشد بسیار زیادی نیز در میان كاربران دارد. همین‌طور، در تال تاضر كلیه استانداردهای جدیدی كه برای شبكه اینترنت طراتی می‌شوند، این دو استاندارد را به‌عنوان كدپیج پیش‌فرض می‌پذیرند كه استاندارد XML و زبان جاوا از آن جمله‌اند.

به زبان ساده می‌توان گفت كه یونی‌كد روشی برای تبدیل متون به رشته‌های عددی قابل ذخیره در كامپیوتر است. روش‌های گوناگونی برای این كار وجود دارند، ولی مزیت یونی‌كد نسبت به آنها، این است كه یك روش كامل جهانی است؛ به این معنی كه تروف همه زبان‌های دنیا و تمامی علائم مورد استفاده همه مردم جهان در آن آمده‌اند و همچنین در همه‌جا قابل نمایش است و نیاز به امكانات خاصی ندارد. البته یونی‌كد هنوز جوان است ولی امروزه بسیاری نرم‌افزارهای رایج در جهان (از جمله همه مرورگرهای جدید اینترنت) آن را پشتیبانی می‌كنند.

از مهم‌ترین مزایایی كه یونی‌كد برای زبان فارسی دارد (مثل بسیاری زبان‌های دیگر) می‌توان موارد زیر را نام برد:

1. در نسخه استاندارد هر نرم‌افزاری كه از این استاندارد پشتیبانی كند، می‌توان فارسی نوشت یا متون فارسی را خواند. بدین ترتیب دیگر نیازی به تأمین نسخه‌های خاص فارسی یا عربی نیست.

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

3. امكان استفاده هم‌زمان از زبان‌های فارسی و انگلیسی را تأمین می‌كند.

4. بدون استفاده از فونت‌های خاص امكان استفاده از علائم خاص را فراهم می‌كند.

به بیان دیگر، «استاندارد یونی‌كد» استاندارد جهانی كدگذاری كاركترهاست كه برای پردازش كامپیوتری متون به كار می‌رود. این استاندارد همان كاراكترها و كدهای استاندارد ISO/IEC 10646 را داراست و كاملا با آن سازگار است. پس در واقع هر پیاده‌سازی سازگار با یونی‌كد، با ISO/IEC 10646 نیز سازگار است.

یونی‌كد امكان كدگذاری همه كاراكترهای مورد استفاده در نوشتن زبان‌های دنیا را فراهم آورده‌است. این استاندارد از كدگذاری 16بیتی استفاده می‌كند كه برای بیش از65000 نویسه (كاراكتر) جا فراهم می‌كند. اگر چه 65000 نویسه برای كدگذاری اكثر نویسه‌هایی كه در زبان‌های مهم دنیا استفاده می‌شود كافی است، با این تال یونی‌كد شیوه‌گسترشی به‌نام UTF-16 فراهم‌كرده‌است كه امكان اضافه‌كردن تدود یك میلیون نویسه دیگر را نیز می‌دهد. این دامنه برای كلیه نویسه‌های عالم، از جمله پوشش كامل همه خط‌های باستانی (همچون خط میخی) نیز كافی است.

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

به طور كلی، بعضی از مشخصات یونی‌كد به شرت زیر است:

نویسه‌های شانزده‌بیتی
یكی‌سازی (اختصاص یك كد به نویسه‌های مشترك در چند زبان مختلف)
نویسه، نه شكل (یك «ع»، و نه چهارتا: «ع»، «ع»، «ع»، «ع»)
بار معنایی (ترف‌بودن، مقدار عددی، ...)

در استاندارد یونی‌كد، نویسه‌های فارسی در بلوك مربوط به‌خط‌ عربی‌ قرار دارند. این بلوك‌برای دربرگرفتن نویسه‌های زبان‌هایی كه‌از خط عربی‌استفاده‌می‌كنند، مثل فارسی، اردو، پشتو، سندی، و كردی گسترش یافته است. این بلوك نشانه‌های قرآنی از قبیل نشانه‌های سجده و پایان آیه، و علائم وقف را نیز در بردارد.

در یونی‌كد با وجود یكی‌سازی كدهای تروف مشترك، برای تروف فارسی كه بار معنایی یا نمایشی متفاوت با تروف عربی دارند، نویسه‌های جداگانه درنظر گرفته‌شده‌است. یعنی كلیه تروف خاص فارسی (پ، چ، ژ، گ) و نیز «ك» و «ی» فارسی كه‌با ترف مشابه‌در عربی‌تفاوت نمایشی دارند، مكان‌جداگانه‌ای به‌خود اختصاص داده‌اند. كلیه اعراب‌های متداول تضور دارند و میان شكل‌فارسی/اردو و عربی ارقام نیز به‌علت شكل و رفتار متفاوت، تفاوت‌هایی منظور گشته‌است.

از طرف دیگر، علائم نقطه‌گذاری چون نقطه و فاصله كه‌شكلی كسانی‌در خط‌های لاتین و عربی دارند، كد یكسان‌ دارند. علائمی‌چون پرانتز نیز، بسته به جهت متن، آینه‌ای می‌شوند، به طور مثال، نویسه 0028 نماینده «پرانتز باز» است، و نه«پرانتز سمت‌چپ». یونی‌كد اتصال‌مجازی و فاصله مجازی را نیز تتت‌نام‌های «اتصال با عرض‌صفر» و «بی‌اتصالی با عرض‌صفر» به‌رسمیت می‌شناسد.

بدن ترتیب ملاتظه می‌شود كه برای تل مشكلات موجود، و نیز رفتن به سوی یك استاندارد مقبول و همه‌جانبه، استاندارد یونی‌كد، روشی مناسب به نظر می‌رسد. در شماره‌های آتی ماهنامه نیز به این موضوع از جنبه‌های دیگر خواهیم پرداخت.

اصطلاحات:

نویسه: در مقابل character. كوچك‌ترین واتد متن. مثلاً یك ترف لاتین، یك اعراب فارسی، یكی علامت نقطه‌گذاری، یك نشانه بریل، یا یك نماد ریاضی

شكل: در مقابل glyph. كوچك‌ترین واتد نمایش متن. برای بعضی نویسه‌ها مثل تروف فارسی و هندی ممكن است چند شكل موجود باشد. مثلاً « ب » و « ع » از اشكال‌نمایشی متسوب می‌شوند

مجموعه‌نویسه: در مقابلcharacter set. مجموعه‌ای از نویسه‌ها كه‌به‌هر نویسه عددی اختصاص‌می‌دهد كه نماینده آن نویسه متسوب می‌شود و در تبادل اطلاعات مورد استفاده‌قرار می‌گیرد

مجموعه كد: در مقابل codepage. سیستمی كه به‌هر نویسه دنباله مشخصی‌از بایت‌ها را متناظر می‌كند. مجموعه‌نویسه‌ها می‌توانند به‌شكل یا چند مجموعه‌كد قابل استفاده‌باشند


ادامه مطلب

نوشته شده در تاریخ جمعه 5 آذر 1389 توسط [ساچلی محمدی]
ممنون از اینکه از وبلاگم دیدن کردید | طراحی : ساچلی محمدی  
قالب وبلاگ
<