یونی‌کد

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو
یونی‌کد
New Unicode logo.svg
نام(های)دیگرمجموعه‌نویسهٔ جهانی (UCS)
زبان(ها)بین‌المللی
استاندارداستاندارد یونی‌کد
فرمت‌های رمزگذاری شدهUTF-8, UTF-16, GB18030
Less common: UTF-32, BOCU, SCSU, UTF-7
پس ازISO 8859 و بسیاری دیگر

یونی‌کُد[۱] (به انگلیسی: Unicode) استانداردی برای کُد کردن نویسه‌های رایانه‌ای و نمایش و پردازش متن به اکثر زبان‌های دنیا[۲] است. هر زبان یک قالب یونی‌کد دارد.

این استاندارد هماهنگ با مجموعه جهانی نویسه‌ها تألیف شده‌است و به صورت کتابی به نام 'The Unicode Standard' منتشر شده‌است. آخرین ویرایش این استاندارد شامل بیش از ۱۱۰۰۰۰ نویسه و ۱۰۰ نماد، مجموعه‌ای از نمودارهای کد برای مرجع تصویری، روش رمزگذاری و مجموعه‌ای از استاندارد رمزگذاری کاراکتر، شمارش خواص شخصیت مانند حروف بزرگ و کوچک، مجموعه‌ای از مرجع فایل‌های داده‌های کامپیوتر و تعدادی موارد مربوط مانند جزئیات نویسه، برابری یونی کد، رندر کردن، نظم و صفحه نمایش دو جهته (برای نمایش صحیح متن حاوی اسکریپت راست به چپ مانند عربی، فارسی و عبری، و اسکریپت‌های سمت چپ به راست) می‌باشد. تا تاریخ مارس ۲۰۱۹، آخرین ویرایش، یونیکد ۱۲٫۰ است.

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

یونیکد می‌تواند توسط کدبندی‌های مختلفی پیاده‌سازی شود. پرکاربردترین رمز نگاری‌ها عبارت اند از: UTF-8، و UCS-2 که دیگر اعتبار ندارد، و UTF-16.

کدبندی UTF-8 برای کدبندی‌های موجود در استاندارد اسکی تنها ۱ بایت استفاده می‌کند. کد نویسه‌های موجود در رمز نگاری اسکی، در هر دو کدبندی یکی است. این رمز نگاری حداکثر ۴ بایت برای هر نویسه استفاده می‌کند.UCS-2 برای تمام نویسه‌ها از ۲ بایت استفاده می‌کند بنابراین نمی‌تواند تمام نویسه‌های موجود در استاندارد فعلی یونیکد را کدبندی کند. UTF-16 کدبندی UCS-2 را گسترش می‌دهد و برای نویسه‌های باقی‌مانده از ۴ بایت استفاده می‌کند.

تاریخچه و توسعه[ویرایش]

هدف یونیکد رفع محدودیت‌های موجود در کدبندی نویسه‌های قدیمی است، مانند کدبندی‌هایی که بر پایه استاندارد ISO 8859 تعریف شده‌اند، که استفاده گسترده‌ای در کشورهای مختلف پیدا کرده‌اند، ولی با یکدیگر سازگار نیستند. بسیاری از کدبندی‌های قدیمی این مشکل مشترک را دارند که امکان پردازش متن‌های دوزبانه (معمولا به وسیله نویسه‌های لاتین و نمادهای محلی) را فراهم می‌کنند، ولی پردازش بیش از دو زبان را ممکن نمی‌کنند.

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

نسخه ها[ویرایش]

یونیکد در کنار سازمان بین المللی استاندارد توسعه یافته است و کارنامه کاراکتری خود را تحت ISO / IEC 10646 با دیگران به اشتراک می گذارد: مجموعه کاراکتر جهانی. یونیکد و ISO / IEC 10646 در کنار بکدیگر و همسان هم به عنوان رمزگذاری کاراکتر عمل می کنند. اما استاندارد یونیکد حاوی اطلاعات بسیار بیشتری برای پیاده ساز است، و جزئیات بیشتری در رابطه از قبیل رمزگذاری بیتی ، جمع بندی و رندر کاراکترها را شامل می شود. استاندارد یونیکد تعداد زیادی از خصوصیات کاراکترها را بر می شمارد، من جمله پشتیبانی از جهت نوشتن متن دوسویه است. اصطلاحات مورد استفاده این دو استاندارد از کمی تفاوت برخوردار است.

کنسرسیوم یونیکد برای اولین بار Unicode Standard را در سال 1991 منتشر کرد (نسخه 1.0) ، و از آن زمان نسخه های جدید را بطور منظم منتشر می کند. آخرین نسخه یونیکد استاندارد ، نسخه 13.0 ، در مارس 2020 منتشر شد و با فرمت الکترونیکی از وب سایت کنسرسیوم در دسترس است. آخرین نسخه استانداردی که به طور کامل در قالب کتاب منتشر شده است (شامل نمودارهای کد) نسخه 5.0 در سال 2006 بود ، اما از نسخه 5.2 (2009) مشخصات اصلی استاندارد به عنوان یک شومیز چاپی در صورت تقاضا منتشر شده است. کل متن هر نسخه استاندارد از جمله مشخصات اصلی ، ضمائم استاندارد و نمودار کد به صورت آزاد در قالب PDF در وب سایت Unicode در دسترس است[۳].

تاکنون نسخه های اصلی و جزئی زیر از استاندارد یونیکد منتشر شده است. نسخه های به روز شده ، که هیچ تغییری در کارنامه کارکترها را شامل نمی شود ، با شماره سوم (به عنوان مثال "نسخه 4.0.1") علامت گذاری می شوند و در جدول زیر حذف نمی شوند[۴].

Unicode versions
نسخه تاریخ کتاب نسخه ISO/IEC 10646 متناظر Scripts کاراکترها
جمع تعدادی[tablenote ۱] نسخه های مهم
1.0.0 October 1991 شابک ‎۰-۲۰۱-۵۶۷۸۸-۱ (Vol. 1) 24 7,161 مجموعه اولیه شامل کارکترهای زیر است: عربی، ارمنی، بنگالی، بوپوموفو، سیریلیک، دیواناگری، گرجستانی، یونانی و کپتی , گجراتی، گرمکهی، هانگولی، عبری، هیراگانا، کانادا، کاتاکانا، لائو، لاتین، مالزیایی، اودیا،تالیم، تلوگو، تای، و تبتی.[۵]
1.0.1 June 1992 شابک ‎۰-۲۰۱-۶۰۸۴۵-۶ (Vol. 2) 25 28,359 مجموعه ابتدایی از CJK Unified Ideographs تعریف شد.[۶]
1.1 June 1993 ISO/IEC 10646-1:1993 24 34,233 4,306 سیلاب دیگر هانگولی به مجموعه ابتدایی 2,350 کارکتری اضافه شد. تبتی حذف شد.[۷]
2.0 July 1996 شابک ‎۰-۲۰۱-۴۸۳۴۵-۹ ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7 25 38,950 مجموعه اصلیسیلاب های هانگولی حذف شد و یک مجموعه سیلاب 11,172 تایی در موقعیت جدید ایجاد شد. تبتی با مجوعه جدید و درمکان متفاوت دوباره اضافه شد.

. مکانیزم جایگزینی برای کاراکترها تعریف شد. صفحات 15 و 16 منطقه استفاده شخصی تعیین شد.[۸]

2.1 May 1998 ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7, as well as two characters from Amendment 18 25 38,952 نشانه یورو و Object Replacement Character اضافه شدند.[۹]
3.0 September 1999 شابک ‎۰-۲۰۱-۶۱۶۳۳-۵ ISO/IEC 10646-1:2000 38 49,259 چروگکی، گعز، خمری، مغولی، برمه ای، اوقام، خط رونی، سینهالا، سریانی، تهانا، سیلاب های مشترک غیربومی کانادایی and یی و همچنین الگوهای بریل نیز اضافه شدند.[۱۰]
3.1 March 2001 ISO/IEC 10646-1:2000

ISO/IEC 10646-2:2001

41 94,205 دسرت, گوتیک، ایتالیایی باستانی، نمادهایی از موسیقی غربی و بیزانسی و 42711 CJK Unified Ideographs اضافه شدند.[۱۱]
3.2 March 2002 ISO/IEC 10646-1:2000 plus Amendment 1

ISO/IEC 10646-2:2001

45 95,221 فیلیپینی، بوید، هاونو، تاگالوگ، و تاگبانوا اضافه شد.[۱۲]
4.0 April 2003 شابک ‎۰-۳۲۱-۱۸۵۷۸-۱ ISO/IEC 10646:2003 52 96,447 سیپروییت، لیمبو، B خطی، عثمانی،شاویان، تای له، اوگارتی، و شش نویسی اضافه شدند.[۱۳]
4.1 March 2005 ISO/IEC 10646:2003 plus Amendment 1 59 97,720 بوگینیز، گلاگولیتی، خروشتی،تای لو، فارسی باستانی، سیلهتی، و تیفیناگ اضافه شدند. کپتی از یونانی جداشد. اعداد و نشانه های موسیقیایی یونان باستان نیز اضافه شدند .[۱۴]
5.0 July 2006 شابک ‎۰-۳۲۱-۴۸۰۹۱-۰ ISO/IEC 10646:2003 plus Amendments 1 and 2, as well as four characters from Amendment 3 64 99,089 بالیایی، خط میخی،انکو، پاسپا، و فینیقی اضافه شد.[۱۵]
5.1 April 2008 ISO/IEC 10646:2003 plus Amendments 1, 2, 3 and 4 75 100,713 کاریان، چام، کایا لی،لپ چا،لیسی، لیدی، اولچیکی، رجنگ، شوراشترا،ساندانی، وای، و همچنین نشانه هایی از صفحه فستوس، ماژونگ، دومینو اضافه شد.

به علاوه اضافاتی از برمه ای، اختصارات کتابی، و نسخ خطی میانه، و حرف بزرگ ẞ رانیز در بر داشت.[۱۶]

5.2 October 2009 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۰۰-۹ ISO/IEC 10646:2003 plus Amendments 1, 2, 3, 4, 5 and 6 90 107,361 اوستایی، باموم، هیروگلیف مصری ( در مجموعه نشانه های گاردینر 1071 کاراکتر وجود دارد)، آرامی پادشاهی، پهلوی نوشتاری، پارتی نوشتاری، جاوه ای، کایتی، فراسر، میتئی، عربستانی جنوبی باستانی، ترکی باستانی (اورخون)، سامری، تای تام، تای ویت اضافه شد. همچنین 4149 CJK Unified Ideographs به همراه توسعه جامو برای هانگولی و کاراکترهای وردیکت نیز اضافه شدند.[۱۷]
6.0 October 2010 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۰۱-۶ ISO/IEC 10646:2010 plus the Indian rupee sign 93 109,449 بتک، براهمی، ماندایی،علائم راهنمایی و رانندگی، نقشه، نشانه های شیمیایی، شکلک ها، و 222 CJK Unified Ideographs اضافه شد.[۱۸]
6.1 January 2012 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۰۲-۳ ISO/IEC 10646:2012 100 110,181 چامکا، مروئیت، پولارد، شارادا، سرنگ سمپن، و تکری اضافه شدند.[۱۹]
6.2 September 2012 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۰۷-۸ ISO/IEC 10646:2012 plus the Turkish lira sign 100 110,182 نشان لیره ترکیه اضافه شد.[۲۰]
6.3 September 2013 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۰۸-۵ ISO/IEC 10646:2012 plus six characters 100 110,187 5 کاراکتر برای متن دوسویه اضافه شد.[۲۱]
7.0 June 2014 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۰۹-۲ ISO/IEC 10646:2012 plus Amendments 1 and 2, as well as the Ruble sign 123 113,021 باسا، آلابانیای قفقاز، دوپلویان، الباسان، گرانتا، خوجکی، خودابادی،

خطی آ، ماهاجانی، مانوی، منده کیکاکویی، مودی، مرو، نبطی، عربی شمالی باستانی، پرمیک باستانی، پاهاو، تدمیری، پو چین هاو، پهلوی نیایشی، سیدام، تیرهوتا، وارانگ، نشان گذارهای پارگرافی.[۲۲]

8.0 June 2015 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۱۰-۸ ISO/IEC 10646:2014 plus Amendment 1, as well as the Lari sign, nine CJK unified ideographs, and 41 emoji characters[۲۳] 129 120,737 آهوم، آناتولی، هاتران، مولتانی، لهستانی باستانی، زبان اشاره، چروکی نشانه ای، 5771 CJK Unified Ideographs دیگر، و مجموعه کوچک نویسی چروگکی و پنج نشانه مقیاس فیتزپاتریک.[۲۴]
9.0 June 2016 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۱۳-۹ ISO/IEC 10646:2014 plus Amendments 1 and 2, as well as Adlam, Newa, Japanese TV symbols, and 74 emoji and symbols[۲۵] 135 128,237 آدلام، بایکسوکی، ژانگ ژانگ، پراکال، اوساژ، تانگوت، ایموجی.[۲۶][۲۷]
10.0 June 2017 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۱۶-۰ ISO/IEC 10646:2017 plus 56 emoji characters, 285 hentaigana characters, and 3 Zanabazar Square characters[۲۸] 139 136,755 زانابازار، سویومبو، ماسارام گوندی، نوشو، هنتایگانا، هیراگانا، 7494 CJK Unified Ideographs دیگر، و ایموجی
11.0 June 2018 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۱۹-۱ ISO/IEC 10646:2017 plus Amendment 1, as well as 46 Mtavruli Georgian capital letters, 5 CJK unified ideographs, and 66 emoji characters.[۲۹] 146 137,439 دوگری، خدرولی، گونجالا، حنیفی، ایندی، ماکاسارس، مدفدری، سغدی، مایا، 5 CJK Unified Ideographs با اولویت بالا، نشانه های شطرنج چینی، نشنه پنج ستاره، و 146 ایموجی دیگر[۳۰]
12.0 March 2019 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۲۲-۱ ISO/IEC 10646:2017 plus Amendments 1 and 2, as well as 62 additional characters.[۳۱] 150 137,993 الیمایی، ناندیناگاری، نیاکنگ، وانچو، پولارد اضافاتی برای علامت های زبان یی و میائو چینی، حروف کوچکژاپنی هیراگانا و کاتاکانا، نشانه ها و شاخه های تاریخی تامیل، حروف لائو برای پالی، حروف لاتین برای حرف نوشتار مصری و اوگاریتیک، نشانه ای هیروگلیف، و 161 ایموجی[۳۲]
12.1 May 2019 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۲۵-۲ 150 137,994 افزودن یک کارکتر در U+32FF برای شکل مربع اسم ریوا.[۳۳]
13.0 March 2020 شابک ‎۹۷۸-۱-۹۳۶۲۱۳-۲۶-۹ ISO/IEC 10646:2020[۳۴] 154 143,924 زبان خوارزمی، دیوی، خیطان، کوردی یزیدی، اضافات سری G CJK Unified Ideographs، اضافات زبان عربی برای زبان هوسه و زبان ولوف و دیگر زبانهای افریقایی و نوشتار زبان هندکو و زبان پنجابی در پاکستان، بوپوموفو، و اضافتی برای کانوتی، نشانه های مدرک خلاقیت عمومی، کاراکترهای گرافیکی برای تلتکست و سیستم های رایانه ای دهه های 70 و 80، و همچنین 55 ایموجی.[۳۵]
  1. تعداد کاراکترهایی که در هر نسخه از یونیکد آورده شده برابر با جمع کل کارکترهای نگارشی، قالب بندی، و کنترلی است (مثلاً , excluding private-use characters, noncharacters and surrogate code points).


یونیکد در ویندوز[ویرایش]

در ویندوز ای‌پی‌آی توابع یونیکد با پسوند W می‌آیند. (مثال: CreateWindowExW) پسوند W حرف اول عبارت wide character است که در زبان‌های برنامه‌نویسی انواع داده‌ای که یونیکد را پشتیبانی می‌کنند اسامی مشابهی مانند WCHAR دارند و گاهی به آن نویسهٔ چندبایتی (به انگلیسی: multibyte character) نیز گفته می‌شود.

جستارهای وابسته[ویرایش]

پیوند به بیرون[ویرایش]

پانویس[ویرایش]

  1. "Unicode Transcriptions". The Unicode Consortium. 2011-11-11. Retrieved 2012-02-22.
  2. Unicode Standard
  3. "Unicode 6.1 Paperback Available". announcements_at_unicode.org. Retrieved 2012-05-30.
  4. "Enumerated Versions of The Unicode Standard". Retrieved 2016-06-21.
  5. "Unicode Data 1.0.0". Retrieved 2010-03-16.
  6. "Unicode Data 1.0.1". Retrieved 2010-03-16.
  7. "Unicode Data 1995". Retrieved 2010-03-16.
  8. "Unicode Data-2.0.14". Retrieved 2010-03-16.
  9. "Unicode Data-2.1.2". Retrieved 2010-03-16.
  10. "Unicode Data-3.0.0". Retrieved 2010-03-16.
  11. "Unicode Data-3.1.0". Retrieved 2010-03-16.
  12. "Unicode Data-3.2.0". Retrieved 2010-03-16.
  13. "Unicode Data-4.0.0". Retrieved 2010-03-16.
  14. "Unicode Data-4.1.0". Retrieved 2010-03-16.
  15. "Unicode Data 5.0.0". Retrieved 2010-03-17.
  16. "Unicode Data 5.1.0". Retrieved 2010-03-17.
  17. "Unicode Data 5.2.0". Retrieved 2010-03-17.
  18. "Unicode Data 6.0.0". Retrieved 2010-10-11.
  19. "Unicode Data 6.1.0". Retrieved 2012-01-31.
  20. "Unicode Data 6.2.0". Retrieved 2012-09-26.
  21. "Unicode Data 6.3.0". Retrieved 2013-09-30.
  22. "Unicode Data 7.0.0". Retrieved 2014-06-15.
  23. "Unicode 8.0.0". Unicode Consortium. Retrieved 2015-06-17.
  24. "Unicode Data 8.0.0". Retrieved 2015-06-17.
  25. "Unicode 9.0.0". Unicode Consortium. Retrieved 2016-06-21.
  26. "Unicode Data 9.0.0". Retrieved 2016-06-21.
  27. Lobao, Martim (7 June 2016). "These Are The Two Emoji That Weren't Approved For Unicode 9 But Which Google Added To Android Anyway". Android Police. Retrieved 4 September 2016.
  28. "Unicode 10.0.0". Unicode Consortium. Retrieved 2017-06-20.
  29. "The Unicode Standard, Version 11.0.0 Appendix C" (PDF). Unicode Consortium. Retrieved 2018-06-11.
  30. "Announcing The Unicode® Standard, Version 11.0". blog.unicode.org. Retrieved 2018-06-06.
  31. "The Unicode Standard, Version 12.0.0 Appendix C" (PDF). Unicode Consortium. Retrieved 2019-03-05.
  32. "Announcing The Unicode® Standard, Version 12.0". blog.unicode.org. Retrieved 2019-03-05.
  33. "Unicode Version 12.1 released in support of the Reiwa Era". blog.unicode.org. Retrieved 2019-05-07.
  34. "The Unicode Standard, Version 13.0– Core Specification Appendix C" (PDF). Unicode Consortium. Retrieved 2020-03-11.
  35. "Announcing The Unicode® Standard, Version 13.0". blog.unicode.org. Retrieved 2020-03-11.

منابع[ویرایش]

  • «یونی‌کد چیست؟». ترجمهٔ روزبه پورنادر. کنسرسیوم یونی‌کد. دریافت‌شده در ۱۰ ژوئیهٔ ۲۰۰۹.
  • مشارکت‌کنندگان ویکی‌پدیا. «Unicode». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۱۱ ژوئن ۲۰۰۹.