کد استاندارد آمریکایی برای تبادل اطلاعات، که معمولا به عنوان ASCII شناخته می شود، یک طرح رمزگذاری کاراکتر استاندارد شده است که به طور گسترده در محاسبات و دستگاه های الکترونیکی استفاده می شود. ابزاری برای نمایش و دستکاری متن (شامل اعداد، علائم نگارشی و نویسههای کنترل) در رایانهها، تجهیزات ارتباطی و سایر دستگاههایی که از متن استفاده میکنند، فراهم میکند.
تولد و تکامل ASCII
ایجاد ASCII به روزهای اولیه محاسبات باز می گردد که منشاء آن در کد تلگراف بود. در دهه 1960، رابرت دبلیو بمر، در حالی که در IBM کار می کرد، نیاز به یک کد جهانی را تشخیص داد که بتوان از آن برای استانداردسازی نمایش متن در رایانه استفاده کرد. این منجر به توسعه ASCII شد که برای اولین بار به عنوان یک استاندارد توسط موسسه استاندارد ملی آمریکا (ANSI) در سال 1963 منتشر شد.
در ابتدا، ASCII یک کد 7 بیتی بود، به این معنی که می توانست 128 کاراکتر مختلف را نشان دهد. این برای شامل تمام حروف اصلی لاتین، اعداد، علائم نگارشی و برخی از کاراکترهای کنترلی ویژه کافی بود. با تکامل فناوری محاسباتی، نیاز به کاراکترهای بیشتر (از جمله کاراکترهای غیرانگلیسی و نمادهای گرافیکی) افزایش یافت که منجر به توسعه Extended ASCII، یک نسخه 8 بیتی از ASCII شد که می تواند 256 کاراکتر مختلف را نشان دهد.
کاوش عمیق تر در ASCII
ASCII یک عدد منحصر به فرد را به هر کاراکتری اختصاص می دهد که به رایانه ها امکان ذخیره و دستکاری متن را می دهد. به عنوان مثال، در ASCII، حرف بزرگ "A" با عدد 65 نشان داده می شود، در حالی که "a" کوچک با عدد 97 نشان داده می شود.
ASCII به دو بخش اصلی سازماندهی شده است:
- کاراکترهای کنترلی (0-31 و 127): نویسههای غیرقابل چاپ هستند که برای کنترل دستگاههای جانبی مختلف متصل به رایانه استفاده میشوند.
- کاراکترهای قابل چاپ (32-126): این کاراکترها شامل اعداد (0-9)، حروف کوچک و بزرگ انگلیسی (az، AZ)، علائم نگارشی و برخی از نمادهای رایج است.
کارهای درونی ASCII
اساس عملکرد ASCII در باینری، زبان 0 و 1 است که کامپیوترها آن را درک می کنند. هر کاراکتر ASCII با یک عدد باینری 7 بیتی منحصر به فرد نشان داده می شود. به عنوان مثال، حرف بزرگ "A" در ASCII با عدد باینری 1000001 نشان داده می شود، در حالی که "a" کوچک 1100001 است.
هنگامی که یک کلید روی صفحه کلید فشار داده می شود، مقدار ASCII کاراکتر مربوطه به پردازنده کامپیوتر ارسال می شود. پردازنده با درک نمایش باینری، عمل مناسب را انجام می دهد.
ویژگی های کلیدی ASCII
ASCII چندین ویژگی قابل توجه دارد:
- استانداردسازی: ASCII یک روش استاندارد و یکنواخت برای نمایش متن در پلتفرم ها و دستگاه های مختلف ارائه می دهد.
- سادگی: ASCII ساده و قابل درک است و به طور گسترده در برنامه های محاسباتی مختلف قابل استفاده است.
- سازگاری: طراحی 7 بیتی ASCII آن را با طیف وسیعی از سخت افزار و نرم افزار سازگار می کند.
انواع ASCII
ASCII دو نسخه اصلی دارد:
- ASCII استاندارد: این نسخه اصلی 7 بیتی است که می تواند 128 کاراکتر را نشان دهد.
- Extended ASCII: یک نسخه 8 بیتی که تعداد کاراکترهای قابل نمایش را دو برابر می کند و به 256 می رساند، شامل کاراکترهای غیر انگلیسی و نمادهای گرافیکی.
استفاده عملی و مسائل بالقوه ASCII
ASCII در محاسبات همه جا حاضر است و به عنوان ستون فقرات فرمت های فایل، زبان های برنامه نویسی، پروتکل ها و موارد دیگر عمل می کند. به عنوان مثال، هنگام برنامه نویسی به زبان هایی مانند C یا جاوا، از مقادیر ASCII برای مدیریت کاراکترها و رشته ها استفاده می شود.
ASCII علیرغم استفاده گسترده از آن، محدودیت هایی دارد، به خصوص در زمینه جهانی. فاقد قابلیت نمایش کاراکترهای زبان های غیر انگلیسی است. این مشکل از طریق توسعه یونیکد، استانداردی که تقریباً تمام سیستمهای نوشتاری در جهان را پوشش میدهد، حل شده است، و در عین حال مجموعه کاراکترهای اصلی ASCII را برای سازگاری با عقب حفظ میکند.
ASCII در مقایسه با سایر سیستم ها
در مقایسه با دیگر طرحهای رمزگذاری کاراکتر مانند EBCDIC (کد تبادل اعشاری کدگذاری شده باینری توسعهیافته) و یونیکد، ASCII به دلیل سادگی، پذیرش گسترده و سازگاری با پلتفرمهای مختلف متمایز است. در حالی که EBCDIC عمدتاً در سیستمهای اصلی IBM استفاده میشود، یونیکد به استانداردی برای رمزگذاری کاراکترهای بینالمللی تبدیل شده است و در بسیاری از برنامههای مدرن جایگزین ASCII شده است.
آینده ASCII در دنیای یونیکد
با ظهور ارتباطات جهانی و اینترنت، عدم پشتیبانی ASCII از کاراکترهای غیر انگلیسی منجر به توسعه و پذیرش یونیکد شده است. با این حال، ASCII عمیقاً در محاسبات جا افتاده است. هنوز هم در بسیاری از سیستمهای قدیمی و در برنامههایی که فقط حروف انگلیسی مورد نیاز است استفاده میشود. علاوه بر این، ASCII زیرمجموعه ای از یونیکد است که ارتباط مداوم آن را تضمین می کند.
سرورهای اسکی و پروکسی
سرورهای پروکسی به عنوان واسطه بین کاربران نهایی و اینترنت عمل می کنند. این سرورها در حالی که مستقیماً با ASCII مرتبط نیستند، درخواست ها و پاسخ های HTTP را پردازش می کنند که معمولاً در ASCII نوشته شده اند. بنابراین، درک پایه ای از ASCII می تواند در درک و عیب یابی مسائلی که ممکن است در ارتباط بین یک سرور پروکسی و یک وب سرور ایجاد شود، مفید باشد.