شاید تا به امروز تصور می کردید که فرقی نمی کند که کارکترها فارسی باشند یا انگلیسی، هر کارکتر یک فضای مشخص را اشغال می کند. احتمالاً متوجه شده اید که محدودیت تعداد کارکترها در پیامک های فارسی تقریباً نصف کارکترها در پیامک های انگلیسی است. حال این پرسش مطرح می شود که چرا کارکترهای فارسی بیشتر از انگلیسی فضا اشغال می کنند؟
برای آزمایش این موضوع یک فایل متنی توسط نرمافزاری همچون Notepad ایجاد کنید و در آن یک کارکتر انگلیسی مانند a را وارد نمایید و فایل را سیو کنید حجم این فایل ۱ بایت خواهد بود. این آزمایش را با یک کارکتر فارسی مانند «ب» تکرار کنید؛ این بار حجم فایل ۲ بایت خواهد بود. دلیل این موضوع چیست؟ چرا کارکترهای فارسی فضای بیشتری را نسبت به کارکترهای انگلیسی اشغال میکنند؟
پاسخ این پرسش آسان است؛ حروف انگلیسی بر اساس الگوی کدگذاری به نام ASCII طراحی شدهاند. ASCI مخفف American Standard Code for Information Interchange است و اولین بار در سال ۱۹۶۷ در ایالات متحده امریکا مورد استفاده قرار گرفت. در اَسکی هر کارکتر انگلیسی یک بایت فضا اشغال میکند. کارکترهای انگلیسی بخشی از کارکترهای لاتین به شمار میروند که اسکی به خوبی از آنها پشتیبانی میکند. در زبان انگلیسی ۲۶ حرف وجود دارد که فارغ از اینکه بزرگ هستند یا کوچک، فضای یکسانی از حافظه را اشغال میکنند.
در دهه ۱۹۶۰ و زمانی که کامپیوترها از حافظه ذخیرهسازی بسیار محدودی بهره میبردند، استاندارد ASCII خلق شد تا کارکترها به روش استانداردی در حافظه تمام کامپیوترهای عرضه شده در آمریکا، ذخیره شوند. در آن زمان تصمیم گرفته شد تا با تکنیک خاصی هر کارکتر در ۸ بیت معادل یک بایت ذخیره شوند. در واقع هر کارکتر انگلیسی ۷ بیت فضا اشغال میکند و بیت هشتم برای چککردن زوج یا فرد بودن عدد است.
با راه یافتن کامپیوتر به کشورهای مختلف جهان و نیاز به واردنمودن زبانهای مختلف دنیا که هر کدام کارکترهای خاص خود را دارند، استانداردهای کدگذاری مختلفی تعریف شد که از جهات گوناگون با ASCII متفاوت بودند. معروفترین این استانداردها که امروزه بسیار مورد استفاده قرار میگیرد و پشتیبانی بسیار خوبی نیز از زبان فارسی دارد، Unicode است. در یونیکد، تمام کارکترهای زبانهای مختلف دنیا در قالب یک مجموعه کارکتر ذخیره شدهاند. معروفترین روش در کدگذاری یونیوکد، UTF-8 است که امروزه بیشتر از باقی استانداردها مورد توجه قرار گرفته است. این استاندارد به شکلی طراحی شده است که از استانداردهای دیگر از جمله ASCII پشتیبانی کند. در UTF-8 هر کارکتر ۲ بایت یا بیشتر فضا اشغال می کند.
پس از آنجایی که حروف انگلیسی براساس استاندارد ASCII ذخیره میشوند یک بایت فضا اشغال می کنند و حروف فارسی نیز که عموماً براساس استاندارد UTF-8 ذخیره می شوند ۲ بایت یا بیشتر فضا اشغال می کنند.
با توجه به این توضیحات اگر در حال ارسال پیامک انگلیسی باشید ۱۶۰ بایت یا ۱۶۰ کارکتر انگلیسی در اختیار خواهید داشت و این در حالی است که این محدودیت برای پیامک های فارسی به کمتر از نصف کاهش می یابد.
منبع: زومیت
دیدگاه های شما