یونی‌کد

(تغییرمسیر از یونیکد)

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

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

این استاندارد هماهنگ با مجموعه جهانی نویسه‌ها تألیف شده‌است و به صورت کتابی به نام '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 را در سال ۱۹۹۱ منتشر کرد (نسخه ۱٫۰)، و از آن زمان نسخه‌های جدید را به‌طور منظم منتشر می‌کند. آخرین نسخه یونیکد استاندارد، نسخه ۱۳٫۰، در مارس ۲۰۲۰ منتشر شد و با فرمت الکترونیکی از وب سایت کنسرسیوم در دسترس است. آخرین نسخه استانداردی که به‌طور کامل در قالب کتاب منتشر شده‌است (شامل نمودارهای کد) نسخه ۵٫۰ در سال ۲۰۰۶ بود، اما از نسخه ۵.2 (2009) مشخصات اصلی استاندارد به عنوان یک شومیز چاپی در صورت تقاضا منتشر شده‌است. کل متن هر نسخه استاندارد از جمله مشخصات اصلی، ضمائم استاندارد و نمودار کد به صورت آزاد در قالب PDF در وب سایت Unicode در دسترس است.[۳]

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

Unicode versions
نسخه تاریخ کتاب نسخه ISO/IEC 10646 متناظر Scripts کاراکترها
جمع تعدادی[tablenote ۱] نسخه‌های مهم
۱٫۰٫۰ اکتبر ۱۹۹۱ شابک ‎۰−۲۰۱−۵۶۷۸۸−۱ (Vol. 1) ۲۴ ۷٬۱۶۱ مجموعه اولیه شامل کارکترهای زیر است: عربی، ارمنی، بنگالی، بوپوموفو، سیریلیک، دیواناگری، گرجستانی، یونانی و کپتی، گجراتی، گرمکهی، هانگولی، عبری، هیراگانا، کانادا، کاتاکانا، لائو، لاتین، مالزیایی، اودیا، تالیم، تلوگو، تای، و تبتی.[۵]
۱٫۰٫۱ ژوئن ۱۹۹۲ شابک ‎۰−۲۰۱−۶۰۸۴۵−۶ (Vol. 2) ۲۵ ۲۸٬۳۵۹ مجموعه ابتدایی از CJK Unified Ideographs تعریف شد.[۶]
۱٫۱ ژوئن ۱۹۹۳ ISO/IEC 10646-1:1993 ۲۴ ۳۴٬۲۳۳ ۴٬۳۰۶ سیلاب دیگر هانگولی به مجموعه ابتدایی ۲٬۳۵۰ کارکتری اضافه شد. تبتی حذف شد.[۷]
۲٫۰ ژوئیه ۱۹۹۶ شابک ‎۰−۲۰۱−۴۸۳۴۵−۹ ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7 ۲۵ ۳۸٬۹۵۰ مجموعه اصلیسیلاب‌های هانگولی حذف شد و یک مجموعه سیلاب ۱۱٬۱۷۲ تایی در موقعیت جدید ایجاد شد. تبتی با مجوعه جدید و درمکان متفاوت دوباره اضافه شد.

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

۲٫۱ مه ۱۹۹۸ ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7, as well as two characters from Amendment 18 ۲۵ ۳۸٬۹۵۲ نشانه یورو و Object Replacement Character اضافه شدند.[۹]
۳٫۰ سپتامبر ۱۹۹۹ شابک ‎۰−۲۰۱−۶۱۶۳۳−۵ ISO/IEC 10646-1:2000 ۳۸ ۴۹٬۲۵۹ چروگکی، گعز، خمری، مغولی، برمه ای، اوقام، خط رونی، سینهالا، سریانی، تهانا، سیلاب‌های مشترک غیربومی کانادایی and یی و همچنین الگوهای بریل نیز اضافه شدند.[۱۰]
۳٫۱ مارس ۲۰۰۱ ISO/IEC 10646-1:2000

ISO/IEC 10646-2:2001

۴۱ ۹۴٬۲۰۵ دسرت، گوتیک، ایتالیایی باستانی، نمادهایی از موسیقی غربی و بیزانسی و 42711 CJK Unified Ideographs اضافه شدند.[۱۱]
۳٫۲ مارس ۲۰۰۲ ISO/IEC 10646-1:2000 plus Amendment 1

ISO/IEC 10646-2:2001

۴۵ ۹۵٬۲۲۱ فیلیپینی، بوید، هاونو، تاگالوگ، و تاگبانوا اضافه شد.[۱۲]
۴٫۰ آوریل ۲۰۰۳ شابک ‎۰−۳۲۱−۱۸۵۷۸−۱ ISO/IEC 10646:2003 ۵۲ ۹۶٬۴۴۷ سیپروییت، لیمبو، B خطی، عثمانی، شاویان، تای له، اوگارتی، و شش نویسی اضافه شدند.[۱۳]
۴٫۱ مارس ۲۰۰۵ ISO/IEC 10646:2003 plus Amendment 1 ۵۹ ۹۷٬۷۲۰ بوگینیز، گلاگولیتی، خروشتی، تای لو، فارسی باستانی، سیلهتی، و تیفیناگ اضافه شدند. کپتی از یونانی جداشد. اعداد و نشانه‌های موسیقایی یونان باستان نیز اضافه شدند.[۱۴]
۵٫۰ ژوئیه ۲۰۰۶ شابک ‎۰−۳۲۱−۴۸۰۹۱−۰ ISO/IEC 10646:2003 plus Amendments 1 and 2, as well as four characters from Amendment 3 ۶۴ ۹۹٬۰۸۹ بالیایی، خط میخی، انکو، پاسپا، و فینیقی اضافه شد.[۱۵]
۵٫۱ آوریل ۲۰۰۸ ISO/IEC 10646:2003 plus Amendments 1, 2, 3 and 4 ۷۵ ۱۰۰٬۷۱۳ کاریان، چام، کایا لی، لپ چا، لیسی، لیدی، اولچیکی، رجنگ، شوراشترا، ساندانی، وای، و همچنین نشانه‌هایی از صفحه فستوس، ماژونگ، دومینو اضافه شد.

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

۵٫۲ اکتبر ۲۰۰۹ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۰۰−۹ ISO/IEC 10646:2003 plus Amendments 1, 2, 3, 4, 5 and 6 ۹۰ ۱۰۷٬۳۶۱ اوستایی، باموم، هیروگلیف مصری (در مجموعه نشانه‌های گاردینر ۱۰۷۱ کاراکتر وجود دارد)، آرامی پادشاهی، پهلوی نوشتاری، پارتی نوشتاری، جاوه ای، کایتی، فراسر، میتئی، عربستانی جنوبی باستانی، ترکی باستانی (اورخون)، سامری، تای تام، تای ویت اضافه شد. همچنین 4149 CJK Unified Ideographs به همراه توسعه جامو برای هانگولی و کاراکترهای وردیکت نیز اضافه شدند.[۱۷]
۶٫۰ اکتبر ۲۰۱۰ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۰۱−۶ ISO/IEC 10646:2010 plus the Indian rupee sign ۹۳ ۱۰۹٬۴۴۹ بتک، براهمی، ماندایی، علائم راهنمایی و رانندگی، نقشه، نشانه‌های شیمیایی، شکلک‌ها، و 222 CJK Unified Ideographs اضافه شد.[۱۸]
۶٫۱ ژانویه ۲۰۱۲ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۰۲−۳ ISO/IEC 10646:2012 ۱۰۰ ۱۱۰٬۱۸۱ چامکا، مروئیت، پولارد، شارادا، سرنگ سمپن، و تکری اضافه شدند.[۱۹]
۶٫۲ سپتامبر ۲۰۱۲ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۰۷−۸ ISO/IEC 10646:2012 plus the Turkish lira sign ۱۰۰ ۱۱۰٬۱۸۲ نشان لیره ترکیه اضافه شد.[۲۰]
۶٫۳ سپتامبر ۲۰۱۳ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۰۸−۵ ISO/IEC 10646:2012 plus six characters ۱۰۰ ۱۱۰٬۱۸۷ ۵ کاراکتر برای متن دوسویه اضافه شد.[۲۱]
۷٫۰ ژوئن ۲۰۱۴ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۰۹−۲ ISO/IEC 10646:2012 plus Amendments 1 and 2, as well as the Ruble sign ۱۲۳ ۱۱۳٬۰۲۱ باسا، آلابانیای قفقاز، دوپلویان، الباسان، گرانتا، خوجکی، خودابادی،

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

۸٫۰ ژوئن ۲۰۱۵ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۱۰−۸ ISO/IEC 10646:2014 plus Amendment 1, as well as the Lari sign, nine CJK unified ideographs, and 41 emoji characters[۲۳] ۱۲۹ ۱۲۰٬۷۳۷ آهوم، آناتولی، هاتران، مولتانی، لهستانی باستانی، زبان اشاره، چروکی نشانه ای، 5771 CJK Unified Ideographs دیگر، و مجموعه کوچک نویسی چروگکی و پنج نشانه مقیاس فیتزپاتریک.[۲۴]
۹٫۰ ژوئن ۲۰۱۶ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۱۳−۹ ISO/IEC 10646:2014 plus Amendments 1 and 2, as well as Adlam, Newa, Japanese TV symbols, and 74 emoji and symbols[۲۵] ۱۳۵ ۱۲۸٬۲۳۷ آدلام، بایکسوکی، ژانگ ژانگ، پراکال، اوساژ، تانگوت، ایموجی.[۲۶][۲۷]
۱۰٫۰ ژوئن ۲۰۱۷ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۱۶−۰ ISO/IEC 10646:2017 plus 56 emoji characters, 285 hentaigana characters, and 3 Zanabazar Square characters[۲۸] ۱۳۹ ۱۳۶٬۷۵۵ زانابازار، سویومبو، ماسارام گوندی، نوشو، هنتایگانا، هیراگانا، 7494 CJK Unified Ideographs دیگر، و ایموجی
۱۱٫۰ ژوئن ۲۰۱۸ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۱۹−۱ ISO/IEC 10646:2017 plus Amendment 1, as well as 46 Mtavruli Georgian capital letters, 5 CJK unified ideographs, and 66 emoji characters.[۲۹] ۱۴۶ ۱۳۷٬۴۳۹ دوگری، خدرولی، گونجالا، حنیفی، ایندی، ماکاسارس، مدفدری، سغدی، مایا، 5 CJK Unified Ideographs با اولویت بالا، نشانه‌های شطرنج چینی، نشنه پنج ستاره، و ۱۴۶ ایموجی دیگر[۳۰]
۱۲٫۰ مارس ۲۰۱۹ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۲۲−۱ ISO/IEC 10646:2017 plus Amendments 1 and 2, as well as 62 additional characters.[۳۱] ۱۵۰ ۱۳۷٬۹۹۳ الیمایی، ناندیناگاری، نیاکنگ، وانچو، پولارد اضافاتی برای علامت‌های زبان یی و میائو چینی، حروف کوچکژاپنی هیراگانا و کاتاکانا، نشانه‌ها و شاخه‌های تاریخی تامیل، حروف لائو برای پالی، حروف لاتین برای حرف نوشتار مصری و اوگاریتیک، نشانه ای هیروگلیف، و ۱۶۱ ایموجی[۳۲]
۱۲٫۱ مه ۲۰۱۹ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۲۵−۲ ۱۵۰ ۱۳۷٬۹۹۴ افزودن یک کارکتر در U+32FF برای شکل مربع اسم ریوا.[۳۳]
۱۳٫۰ مارس ۲۰۲۰ شابک ‎۹۷۸−۱−۹۳۶۲۱۳−۲۶−۹ ISO/IEC 10646:2020[۳۴] ۱۵۴ ۱۴۳٬۹۲۴ زبان خوارزمی، دیوی، خیطان، کوردی یزیدی، اضافات سری G CJK Unified Ideographs، اضافات زبان عربی برای زبان هوسه و زبان ولوف و دیگر زبانهای آفریقایی و نوشتار زبان هندکو و زبان پنجابی در پاکستان، بوپوموفو، و اضافتی برای کانوتی، نشانه‌های مدرک خلاقیت عمومی، کاراکترهای گرافیکی برای تلتکست و سیستم‌های رایانه ای دهه‌های ۷۰ و ۸۰، و همچنین ۵۵ ایموجی.[۳۵]
  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». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۱۱ ژوئن ۲۰۰۹.