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

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

نحوه‌ی ذخیره‌سازی یونیکد در کامپیوتر و استفاده از wchar_t

0 امتیاز
1,028 نمایش

یونیکد در کامپیوتر چطور ذخیره می‌شه؟ فرض کنیم برای ذخیره‌ی یونیکد از utf-8 استفاده کنیم. اگه با یه ویرایش‌گر که کد ماشین یک فایل متنی رو نشون می‌ده، فایلی متنی حاوی یه یونیکد رو باز کنیم چی می‌بینیم؟
و این که با wchar_t چطور این داده‌ها پردازش می‌شه؟
منظورم ورودی و خروجی هست

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

1 پاسخ

0 امتیاز

استفاده از یونیکد به صورت خام و مستقیم صورت نمی‌گیره. یونیکد فقط یه استاندارده که استفاده از کاراکترها رو در همه‌ی دنیا یکسان می‌کنه. مثلاً توسط استاندارد یونیکد حرف «ی» در همه‌ی دنیا معادل عدد خاصی هست.

برای استفاده از یونیکد استانداردهای مختلفی پیشنهاد شده که معروف‌ترین و پرکاربردترین اون‌ها UTF-8 هست که یه پیاده‌سازی از یونیکد هست.

هنگامی که ما یک متن رو در یک فایل می‌نویسیم در حقیقت به ازای هر کاراکتر مقدار عددی اون رو در مجموعه کاراکتر (character set) مورد استفاده در فایل ذخیره می‌کنیم.

مثلاً اگه در حال استفاده از UTF-8 باشیم تایپ حرف «ی» یک عدد رو وارد فایل متنی می‌کنه و اگه در حال استفاده از eindows-1254 باشیم، همین تایپ حرف «ی» عدد دیگه‌ای رو در فایل وارد می‌کنه.

حالا وقتی که فایل رو باز کنیم با استفاده از یه مجموعه کاراکتر، مقدار عددی وارد شده در فایل متنی در اون مجموعه کاراکتر که برای خوندن استفاده می‌شه تعبیر شده و خروجی‌ش به ما داده می‌شه

برای درج یک کاراکتر مشخص در فایل متنی توسط مجموعه کاراکتر نوشتن مورد استفاده

character I--> تبدیل به مقدار عددی در مجموعه کاراکتر نوشتن I--> درج مقدار عددی در فایل

برای خواندن یک کاراکتر از فایل متنی

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