اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

utf-16 چیست؟

0 امتیاز
1,050 نمایش
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده دوشنبه ۱۴ مرداد ۱۳۹۲ در زبان‌های برنامه‌نویسی توسط prodo  

1 پاسخ

0 امتیاز

utf-16 یکی از پیاده‌سازی‌های یونیکد است. در این پیاده‌سازی برای ذخیره‌سازی کاراکتر از ۱۶ بیت یا ۳۲ بیت استفاده می‌شود.

یونیکد شامل تعدادی کاراکتر است که صفحه‌ی کاراکترهای پرکاربرد (یا چنین عنوانی) نامیده می‌شه. این کاراکترها، کاراکترهایی هستند که تقریباً تمام کاربردهای معمول رو پوشش می‌دن. مثلاً حروف الفباهای زبان‌های زنده‌ی دنیا، اعداد، کاراکترهای معمول مثل ویرگول و ...

در پیاده‌سازی utf-16 برای ذخیره‌سازی این زیرمجموعه از کاراکترهای یونیکد از ۱۶ بیت استفاده می‌شه و برای بقیه‌ی کاراکترها از ۳۲ بیت.

این کاراکترهای پرکاربرد کاراکترهای بین U+0000 و U+D7FF و بین U+E000 و U+FFFF هستند که به صورت مستقیم ذخیره می‌شن.

بقیه‌ی کاراکترها که بین U+10000 و U+10FFFF هستند به این صورت ذخیره می‌شن:
ابتدا از مقدار کاراکتر 10000 کم می‌شه. بنابراین یک کاراکتر با مقدار ۲۰ بیتی می‌مونه. ده بیت سمت چپ رو با D800 و دو بیت سمت راست رو با DC00 جمع می‌کنیم که هر دو تبدیل به ۱۶ بیت می‌شن. این دو ۱۶ بیت رو به هم متصل می‌کنیم و یک مقدار ۳۲ بیتی به دست می‌آریم.

مقدار به دست اومده مقدار پیاده‌سازی utf-16 برای کاراکترهای کم‌کاربرد هست.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده دوشنبه ۱۴ مرداد ۱۳۹۲ توسط prodo