PDA

نسخه کامل مشاهده نسخه کامل : يونيكد چيست؟



Saeed_TnT
12-01-2005, 21:18
يونيكد چيست؟

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


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

منبع : aliproductions

shahrdartoope
13-01-2005, 03:22
سلام
سعی تی ان تی قربون دستت خیلی حال کردم.. فقط یه سوال نمی دونی چه جوری میشه یونیکد رو تبدیل کرد بعد در فایل تکست ذخیره کرد؟ اگه همین جوری کپی کنی بعد از ذخیره همه کلمات به صورت علامت سوال در میان می تونی کمکم کنی

شهر دار

Saeed_TnT
13-01-2005, 10:03
به نظر من اگه از Amir_p30 بپرسي بهتره :wink: :!: :!: :!:

shahrdartoope
15-01-2005, 06:19
پس امیر جان بدادم برس

شهردار

mkoleiny
16-01-2005, 13:03
اصلا نميخواد كپي كني.از اول با notepad باز كن و از همون جا هم تكست save كن

shahrdartoope
17-01-2005, 06:40
خوب اگه فونتشو نداشته باشی چی؟ در این صورت فقط با یونیکد میشه دید

شهردار

mkoleiny
17-01-2005, 12:27
نه نميخواد

Sina
17-01-2005, 17:54
دوستان ببينيد يونيكد يه روش ذخيره سازي هست و براي مشاهده اون نياز به هيچ فونتي نيست! :)

shahrdartoope
19-01-2005, 02:12
سینا جان شما منظورمو متوجه نشدی من نیاز خیلی شدیدی دارم که پسوند doc رو به txt تبدیل کنم ولی با کپی کردن این کار انجام نمیشه ؟؟
شهردار

Sina
19-01-2005, 17:42
ويندوز شما چيه ؟
با كپي كردن بايد بشه .. يعني توي نت پد فارسي مينويسه بعد در هنگام ذخيره يه سوال هم ميكنه كه بايد جواب مثبا بدين

MaSoOd
21-01-2005, 04:15
ممنون از مقالت سعيد جان
اینم لینکش :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

shahrdartoope
22-01-2005, 02:23
سینا جان ویندوز من ایکس پی روسیه از من سوال میکنه که اگه ای فایل ذخیره بشه ممکنه بعضی اطلاعات از بین بره آیا مطمئن هستید" اگه بزنم اره وقتی دوباره بازش می کنم همه کلمات فارسی به صورت علامت سواله اگه هم بزنم نه ذخیره نمیکنه

حالا نظر شما جیه؟؟؟

pedramonline
24-01-2005, 01:58
اي ول خيلي وقته دنبال تعريف ميگشتم گيرم نميومد
دستت درد نكنه
خدا عمر بت بده

Amir_P30
24-01-2005, 21:36
شما زبان فارسي رو كامل روي ويندوزت نصب كرده ايي؟

Sina
25-01-2005, 18:12
من همين كار رو ميكنم و مشكلي پيش نمياد
البته با اكس پي انگليسي كه فارسي هم روش نصب هست

shahrdartoope
01-02-2005, 03:45
بله امير جان ولي فايده اي نداره

Amir_P30
01-02-2005, 18:12
آقا اون جايي كه زبان فارسي رو نصب مي كني يه زبانه داره به نام ادونس اونو چك كن كه فارسي باشه