جستجوی پیشرفته               
 
يوني کد چيست؟

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

نرم‌افزارهاي متفاوت، با فرمت‌هاي مختلف، کدهاي فارسي گوناگون و ... در تال استفاده‌اند و روزانه ميزان قابل توجهي از اطلاعات را در خود جاي مي‌دهند. اگر از آن دسته از مراکزي که به دليل عدم آگاهي کافي اطلاعات را به صورت ناقص جمع‌آوري و وارد مي‌کنند (که تدود 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. سيستمي که به‌هر نويسه دنباله مشخصي‌از بايت‌ها را متناظر مي‌کند. مجموعه‌نويسه‌ها مي‌توانند به‌شکل يا چند مجموعه‌کد قابل استفاده‌باشند.

منابع:
مرکز محاسبات دانشگاه صنعتي شريف
www.sharif.ac.ir
سازمان مديريت و برنامه‌ريزي کشور
شوراي عالي انفورماتيک
www.unicode.org
   

صفحه اصلی | پروژه های آماده  | ورود به سایت | عضویت | سفارش پروژه | ارسال پروژه | معرفی سایت به دیگران با SMS | تبادل لینک | توانایی ها | تماس با ما 
کلیه حقوق متعلق به سایت IranProject.Ir می باشد ، استفاده از مطالب و پروژه های سایت با ذکر منبع بلامانع می باشد.