تعریف کلی کاراکتر یا نویسه در کامپیوتر یعنی کوچکترین واحد نمایش اطلاعات که میتونه یک حرف یا علامت باشه. نویسهها شامل فاصله، عددها و علامتها هم هستند!
نویسه در دنیای دیجیتال
در دنیای دیجیتال برای انتقال اطلاعات چیزی جز خاموش و روشن نداریم! جریانهای الکتریکی که قطع و وصل میشن، نوری که چشمک میزنه یا حتی تغییر جهت قطبهای مغناطیسی توی هاردها دنیای دیجیتالما رو میسازن!
به این خاموشها و روشنها میتونیم غلط و صحیح یا صفر و یک رو نسبت بدیم. این صفرها و یکها به کمک قوانین مبنای عددی در ریاضیات معنا پیدا میکنن. یعنی مثلاً عدد ۲ توی کامپیوتر میشه ۰۰۱۰، عدد ۱۱ توی کامپیوتر میشه ۱۰۱۱ و عدد ۵ میشه ۰۱۰۱. در واقع هر عدد، کد مخصوص به خودش رو داره که قابل محاسبه هست. این محاسبه بین مبنای ده (اعداد خودمون) و مبنای دو (اعداد کامپیوتر) به سادگیِ انجام چند تقسیم هست.
برای انتقال اعداد مشکلی نداریم اما اگر بخوایم نویسهها رو منتقل کنیم مشکل خواهیم داشت. برای این کار مجبوریم جدولی بسازیم و برای هر نویسه یک کد تعیین کنیم.
اَسکی (ASCII)
اسکی یکی از قدیمیترین و سادهترین استانداردهای کدبندی هست. در واقع ASCII مخففِ American Standard for Information Interchange هست. ماجرا اینه که سال ۱۹۶۳ یک عده دور هم جمع میشن تا یک جدول ۱۲۸ نویسهای بسازند، اونها توافق کردن که مثلاً کد ۶۵ برای حرف A باشه و کد ۹۷ برای a (هر دو حرف «اِی» هستن ولی اولی بزرگ و دومی کوچک هست و این دو، نویسههایی مجزا و متفاوت هستن). یکی از مشکلات این جدول که بعداً هم بهش میرسیم این هست که جز حروف انگلیسی دیگه هیچ زبان دیگهای توی این جدول نیست.
علاوه بر اینها جدول اسکی شامل انواع مختلفی از نویسهها از جمله نویسههایی موسوم به نویسههای کنترلی میشه. کدهای صفر تا ۳۱ و ۱۲۷ این جدول، نویسهٔ کنترلی هستن. بهشون میگیم کنترلی چون قرار نیست مستقیماً به ما نمایش داده بشن و میتونن موجب یک فرایند در دستگاه بشن. برای مثال کد ۱۰ مربوط به نویسهٔ کنترلی line feed میشه که باعث میشه کامپیوتر یک خط جدید رو برای متن شروع کنه. در واقع معادل دکمهٔ enter روی صفحهکلید هست. یا مثلاً کد ۸ نویسهٔ Backspace هست! جالبترینشون برای من نویسهٔ bell یا alarm (با کد ۷ هست که هر بار که کامپیوتر به این نویسه میرسه صدای بیپ پخش میکنه! (با گرفتن کلید Alt و زدن کد ۰۰۷ از صفحهکلید عددی (Numpad) میتونید این نویسه رو بنویسید!) هنوز هم میشه توی خط فرمان این نویسه رو نوشت و صدای بیپ از کامپیوتر پخش بشه! قدیم این کارکتر از یه بیزر (یک بلندگو برای پخش بیز!) روی مادربورد صدا میداد(یادش بهخیر!)
به طور کلی به هر ۰ یا ۱ یک، بیت (bit نه بِیت!) میگیم. جدول ASCII براساس ۷ بیت تعریف شده. یعنی اگه از ۰۰۰۰۰۰۰ تا ۱۱۱۱۱۱۱ بریم جمعاً میشه ۱۲۸ حالت یا کد منحصر به فرد(از ۰ تا ۱۲۷) که توی این جدول به هر کدوم یک نویسه اختصاص داده شده.
یونیکد (Unicode)
علاوه بر ASCII امروزه از استاندارد جامع دیگری به نام Unicode استفاده میشود. در یونیکد هر نویسه میتواند بین یک تا ۴ بایت داشته باشد. علاوه بر آن در Unicode به جای character از grapheme استفاده میشه و هر نویسه میتونه یک یا چند گرافم به همراه یک یا چند اصلاحکننده (Modifier) باشه. یکخرده پیچیده شد!
گرافم یا تکنگاره چی هست؟
گرافم یا تکنگاره به هر نویسهای که توسط انسان قابل خواندن باشه گفته میشه. مثلاً: ȫ
اما هر تکنگاره میتونه ترکیبی از چند کد باشه مثلاً در مثال بالا این تکنگاره ترکیبی از سه کد هست که در کنار هم این تکنگاره رو میسازن.