کد ASCII چیست؟ راهنمای جامع استاندارد نمایش دادههای دیجیتال

کد ASCII (American Standard Code for Information Interchange) یکی از مهمترین استانداردهای دیجیتال است که برای نمایش و انتقال دادهها در کامپیوترها، سیستمهای مخابراتی، و دستگاههای دیجیتال استفاده میشود. این استاندارد، یک روش ساده و موثر برای ترجمهی حروف، اعداد و کاراکترهای خاص به مقادیر عددی (باینری) فراهم میکند. کد ASCII پایهی بسیاری از سیستمهای مدرن است و همچنان نقش حیاتی در ذخیره و پردازش متن در نرمافزارها و سختافزارها ایفا میکند. در این مقاله به طور کامل با تاریخچه، ساختار، دستهبندی، کاربردها و مزایا و معایب این استاندارد آشنا میشوید.

تاریخچه
کد ASCII در سال 1963 توسط سازمان ASA (American Standards Association) معرفی شد و بعدها در سال 1967 توسط ANSI (American National Standards Institute) به عنوان یک استاندارد رسمی پذیرفته شد. هدف اصلی این کد، ایجاد یک سیستم استاندارد برای نمایش و انتقال دادههای متنی بین کامپیوترها و دستگاههای مختلف بود.

پیش از معرفی ASCII، دستگاههای مختلف از روشهای متفاوتی برای نمایش دادهها استفاده میکردند. این تفاوت باعث میشد ارتباط بین دستگاهها دشوار باشد. کد ASCII به عنوان یک زبان مشترک طراحی شد تا مشکلات سازگاری را حل کند. این استاندارد ابتدا شامل 128 کد 7 بیتی بود که به مرور زمان گسترش یافت و نسخههای 8 بیتی آن (به نام Extended ASCII) نیز معرفی شدند.
لینک پیشنهادی: شما همچنین می توانید برای آشنایی با 10 زبان برنامه نویسی برای توسعه نرم افزار، مقاله ” معرفی 10 زبان برنامهنویسی کلیدی در دنیای توسعه نرمافزار ” مطالعه نمایید.
ساختار کد ASCII
کد ASCII در اصل از 7 بیت استفاده میکند و شامل 128 کد منحصر به فرد است که به دو دسته اصلی تقسیم میشوند:
1. کاراکترهای کنترلی (Control Characters):
این کدها شامل مقادیر 0 تا 31 و 127 هستند و معمولاً برای کنترل دستگاههای خروجی (مانند چاپگرها یا ترمینالها) و تنظیم ارتباطات استفاده میشوند. این کاراکترها مستقیماً قابل چاپ نیستند.
- مثالها:
0 (NUL):پایان یک رشته9 (TAB):ایجاد فاصلهی تب13 (CR):بازگشت به ابتدای خط
2. کاراکترهای قابل چاپ (Printable Characters):
این دسته شامل مقادیر 32 تا 126 است و حروف، اعداد و علائم نگارشی را شامل میشود.
- مثالها:
32:فضای خالی48 تا 57:اعداد 0 تا 965 تا 90:حروف بزرگ A تا Z97 تا 122:حروف کوچک a تا z
جدول کدهای ASCII
کاراکترهای کنترلی (0 تا 31 و 127):
| کد | نام | توضیح |
|---|---|---|
| 0 | NUL | پایان رشته |
| 1 | SOH | شروع هدر |
| 2 | STX | شروع متن |
| 3 | ETX | پایان متن |
| 4 | EOT | پایان انتقال |
| 5 | ENQ | درخواست تأیید |
| 6 | ACK | تأیید |
| 7 | BEL | زنگ هشدار |
| 8 | BS | بکاسپیس |
| 9 | TAB | فاصلهی تب افقی |
| 10 | LF | پرش خط |
| 11 | VT | تب عمودی |
| 12 | FF | تغذیه صفحه |
| 13 | CR | بازگشت به ابتدای خط |
| 14 | SO | شیفت خروجی |
| 15 | SI | شیفت ورودی |
| 16 | DLE | خروج از حالت داده |
| 17 | DC1 | کنترل دستگاه ۱ |
| 18 | DC2 | کنترل دستگاه ۲ |
| 19 | DC3 | کنترل دستگاه ۳ |
| 20 | DC4 | کنترل دستگاه ۴ |
| 21 | NAK | عدم تأیید |
| 22 | SYN | هماهنگسازی |
| 23 | ETB | پایان بلوک انتقال |
| 24 | CAN | لغو |
| 25 | EM | علامت پایان رسانه |
| 26 | SUB | جایگزین |
| 27 | ESC | خروج |
| 28 | FS | جداکنندهی فایل |
| 29 | GS | جداکنندهی گروه |
| 30 | RS | جداکنندهی رکورد |
| 31 | US | جداکنندهی واحد |
| 127 | DEL | حذف |
لینک پیشنهادی: شما همچنین می توانید برای آشنایی با رایج ترین زبان های برنامه نویسی، مقاله ” زبانهای برنامهنویسی رایج: مقایسه ویژگیها و کاربردها ” مطالعه نمایید.
کاراکترهای قابل چاپ (32 تا 126):
| کد | نام | توضیح |
|---|---|---|
| 32 | SP | فضای خالی |
| 33 | ! | علامت تعجب |
| 34 | “ | علامت نقلقول |
| 35 | # | علامت هشتگ |
| 36 | $ | علامت دلار |
| 37 | % | علامت درصد |
| 38 | & | علامت و |
| 39 | ‘ | علامت آپاستروف |
| 40 | ( | پرانتز باز |
| 41 | ) | پرانتز بسته |
| 42 | * | ستاره |
| 43 | + | علامت بعلاوه |
| 44 | , | ویرگول |
| 45 | – | خط منفی |
| 46 | . | نقطه |
| 47 | / | خط مایل |
| 48 | 0 | عدد صفر |
| 49 | 1 | عدد یک |
| 50 | 2 | عدد دو |
| 51 | 3 | عدد سه |
| 52 | 4 | عدد چهار |
| 53 | 5 | عدد پنج |
| 54 | 6 | عدد شش |
| 55 | 7 | عدد هفت |
| 56 | 8 | عدد هشت |
| 57 | 9 | عدد نه |
| 58 | : | دوت نقطه |
| 59 | ; | سمیکالن |
| 60 | < | علامت کوچکتر |
| 61 | = | علامت مساوی |
| 62 | > | علامت بزرگتر |
| 63 | ? | علامت سوال |
| 64 | @ | علامت @ |
| 65 | A | حرف A |
| 66 | B | حرف B |
| 67 | C | حرف C |
| 68 | D | حرف D |
| 69 | E | حرف E |
| 70 | F | حرف F |
| 71 | G | حرف G |
| 72 | H | حرف H |
| 73 | I | حرف I |
| 74 | J | حرف J |
| 75 | K | حرف K |
| 76 | L | حرف L |
| 77 | M | حرف M |
| 78 | N | حرف N |
| 79 | O | حرف O |
| 80 | P | حرف P |
| 81 | Q | حرف Q |
| 82 | R | حرف R |
| 83 | S | حرف S |
| 84 | T | حرف T |
| 85 | U | حرف U |
| 86 | V | حرف V |
| 87 | W | حرف W |
| 88 | X | حرف X |
| 89 | Y | حرف Y |
| 90 | Z | حرف Z |
| 91 | [ | آکولاد باز |
| 92 | \ | خط مایل معکوس |
| 93 | ] | آکولاد بسته |
| 94 | ^ | سقف |
| 95 | _ | خط فاصله |
| 96 | ` | تیک |
| 97 | a | حرف a |
| 98 | b | حرف b |
| 99 | c | حرف c |
| 100 | d | حرف d |
| 101 | e | حرف e |
| 102 | f | حرف f |
| 103 | g | حرف g |
| 104 | h | حرف h |
| 105 | i | حرف i |
| 106 | j | حرف j |
| 107 | k | حرف k |
| 108 | l | حرف l |
| 109 | m | حرف m |
| 110 | n | حرف n |
| 111 | o | حرف o |
| 112 | p | حرف p |
| 113 | q | حرف q |
| 114 | r | حرف r |
| 115 | s | حرف s |
| 116 | t | حرف t |
| 117 | u | حرف u |
| 118 | v | حرف v |
| 119 | w | حرف w |
| 120 | x | حرف x |
| 121 | y | حرف y |
| 122 | z | حرف z |
| 123 | { | آکولاد باز |
| 124 | | | خط عمودی |
| 125 | } | آکولاد بسته |
| 126 | ~ | تولید خط موج |
کدهای ASCII توسعهیافته (Extended ASCII)
نسخه استاندارد ASCII فقط 128 کد دارد که برای نمایش بسیاری از زبانها و نمادها کافی نیست. به همین دلیل نسخههای 8 بیتی (256 کد) معرفی شدند که شامل نمادهای گرافیکی، حروف با علائم خاص (مانند é و ç) و کاراکترهای اضافی برای زبانهای غیرانگلیسی هستند.
برخی از کدهای اضافی در Extended ASCII:
| کد | کاراکتر | توضیح |
|---|---|---|
| 128 | Ç | حرف C با علامت Cedilla |
| 130 | é | حرف E با لهجهی تیز |
| 150 | – | خط تیره بلند (En Dash) |
کاربردهای کد ASCII
کد ASCII در دنیای دیجیتال کاربردهای گستردهای دارد که از جمله مهمترین آنها میتوان به موارد زیر اشاره کرد:
1. ذخیره و نمایش متن:
کد ASCII به عنوان یک استاندارد برای ذخیره و نمایش متن در فایلهای متنی ساده (مانند .txt) استفاده میشود. این فایلها با تمامی سیستمها سازگار هستند.
2. برنامهنویسی:
زبانهای برنامهنویسی مانند C++ و Python و Java از کد ASCII برای پردازش و تحلیل دادههای متنی استفاده میکنند.
- مثال در Python:
3. پروتکلهای شبکه:
در پروتکلهای انتقال داده مانند HTTP و FTP، ASCII به عنوان استاندارد اصلی برای ارسال و دریافت دادههای متنی استفاده میشود.
4. سیستمهای مخابراتی:
کد ASCII برای ارسال پیامها و دستورات متنی در سیستمهای مخابراتی کاربرد دارد.
5. صفحهکلید و سختافزار:
هر کلید روی صفحهکلید یک کد ASCII مشخص دارد. این ویژگی در توسعه سیستمهای عامل و درایورها بسیار حیاتی است.
لینک پیشنهادی: شما همچنین می توانید برای آشنایی با مفاهیم پایه کامپیوتر، ویدئو “کامپیوتر چیست و آشنایی با مفاهیم پایه آن ” مطالعه نمایید.
مزایا و معایب کد ASCII
مزایا:
- سادگی: ساختار 7 بیتی باعث پیادهسازی آسان آن شده است.
- سازگاری جهانی: به دلیل استاندارد بودن، تقریباً تمام سیستمها از آن پشتیبانی میکنند.
- کارآمدی: برای ذخیره و پردازش متون ساده بسیار موثر است.
معایب:
- محدودیت در تعداد کاراکترها: نسخه اصلی ASCII فقط 128 کاراکتر را پشتیبانی میکند.
- عدم پشتیبانی از زبانهای غیرلاتین: زبانهایی مانند فارسی، عربی و چینی در نسخه استاندارد ASCII پوشش داده نمیشوند.
- قدیمی بودن: امروزه استانداردهای پیشرفتهتری مانند Unicode و UTF-8 جایگزین ASCII شدهاند.
مقایسه ASCII با Unicode
Unicode استانداردی است که برای حل محدودیتهای ASCII طراحی شده است. این استاندارد توانایی نمایش تمام کاراکترهای زبانهای مختلف جهان را دارد. UTF-8 که یکی از نسخههای Unicode است، به دلیل سازگاری با ASCII، بهطور گسترده مورد استفاده قرار میگیرد.
| ویژگی | ASCII | Unicode |
|---|---|---|
| تعداد کاراکتر | 128 | بیش از 1.1 میلیون |
| بیتها | 7 یا 8 بیت | 8، 16 یا 32 بیت |
| زبانها | فقط لاتین | تمامی زبانها |
نتیجهگیری
کد ASCII یکی از اولین استانداردهای دنیای دیجیتال بود که انقلابی در ذخیره و انتقال دادههای متنی ایجاد کرد. با وجود محدودیتهایش، این کد هنوز هم در بسیاری از برنامهها و سیستمها استفاده میشود و به عنوان پایهای برای استانداردهای مدرنتر مانند Unicode عمل میکند. برای درک بهتر سیستمهای کامپیوتری و ارتباطات دیجیتال، آشنایی با ASCII ضروری است.



