• 2 رای - 4.5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
یونی کد چیست/لیست کامل Charset ها
#1
سلام دوستان،

امروزه دغدغه بسیاری از عزیزانی که در اینترنت فعالیت دارند ندانستن معنی کامل یونیکد و انتخاب یک Charset خوب می باشد. با استفاده از چند منبع که در پایان به آنها اشاره شده، توانستم یک مقاله خوب و آموزنده بنویسم.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

اصطلاحات

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

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

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

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

لیست کامل Charset های موجود

کد پی‌اچ‌پی:
Universal utf-8
Universal 
utf-16
Afrikaans 
iso-8859-1
Afrikaans 
windows-1252
Albanian 
iso-8859-1
Albanian 
windows-1252
Arabic 
iso-8859-6
Arabic 
windows-1256
Baltic 
iso-8859-4
Basque 
iso-8859-1
Basque 
windows-1252
Bulgarian 
iso-8859-5
Byelorussian 
iso-8859-5
Catalan 
iso-8859-1
Catalan 
windows-1252
Celtic 
iso-8859-14
Chinese Simplified 
gb18030
Chinese Simplified 
gb2312
Chinese Simplified 
hz-gb-2312
Chinese Traditional 
big5
Croatian 
iso-8859-2
Croatian 
windows-1250
Czech 
iso-8859-2
Danish 
iso-8859-1
Danish 
windows-1252
Dutch 
iso-8859-1
Dutch 
windows-1252
English 
iso-8859-1
English 
windows-1252
English 
us-ascii
Esperanto 
iso-8859-3
Estonian 
iso-8859-15
Faroese 
iso-8859-1
Faroese 
windows-1252
Finnish 
iso-8859-1
Finnish 
windows-1252
French 
iso-8859-1
French 
windows-1252
Galician 
iso-8859-1
Galician 
windows-1252
German 
iso-8859-1
German 
windows-1252
Greek 
iso-8859-7
Greek 
windows-1253
Hebrew 
iso-8859-8
Hebrew 
iso-8859-8-i
Hebrew 
windows-1255
Hungarian 
iso-8859-2
Icelandic 
iso-8859-1
Icelandic 
windows-1252
Inuit 
(Eskimo) - iso-8859-10
Irish 
iso-8859-1
Irish 
windows-1252
Italian 
iso-8859-1
Italian 
windows-1252
Japanese 
shift_jis
Japanese 
iso-2022-jp
Japanese 
euc-jp
Korean 
cp949
Korean 
euc-kr
Korean 
ksc_5601
Korean 
KS_C_5601-1987
Korean 
iso-2022-kr
Lapp 
iso-8859-10
Latvian 
iso-8859-13
Latvian 
windows-1257
Lithuanian 
iso-8859-13
Lithuanian 
windows-1257
Macedonian 
iso-8859-5
Macedonian 
windows-1251
MacRoman 
macintosh
Maltese 
iso-8859-3
Norwegian 
iso-8859-1
Norwegian 
windows-1252
Polish 
iso-8859-2
Portuguese 
iso-8859-1
Portuguese 
windows-1252
Romanian 
iso-8859-2
Russian 
koi8-r
Russian 
iso-8859-5
Scottish 
iso-8859-1
Scottish 
windows-1252
Serbian cyrillic 
windows-1251
Serbian cyrillic 
iso-8859-5
Serbian latin 
iso-8859-2
Serbian latin 
windows-1250
Slovak 
iso-8859-2
Slovenian 
iso-8859-2
Slovenian 
windows-1250
South
-Eastern European iso-8859-16
Spanish 
iso-8859-1
Spanish 
windows-1252
Swedish 
iso-8859-1
Swedish 
windows-1252
Taiwan 
euc-tw
Taiwan 
big5-eten
Taiwan 
big5-hkscs
Taiwan 
windows-874
Thai 
tis-620
Thai 
windows-874
Turkish 
iso-8859-9
Turkish 
windows-1254
Ukrainian 
iso-8859-5
Ukrainian 
koi8-u
Vietnamese 
viscii
Vietnamese 
windows-1258 

منابع:
دانشگاه صنعتي شريف
شوراي عالي انفورماتيك
ویکی پدیا
غایب
  پاسخ
تشکر شده توسط : Maya Y.P.Y iapple zoghal admin scooter php dariush


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان