آردوینو ARDUINO واژه نامه الکترونیک مطالب آموزشی مفاهیم و تعاریف الکترونیکی

کد اسکی (ASCII)

کد اسکی (ASCII)
5 (100%) 1 vote

 

کد اسکی (ASCII)

اگر کامپیوترها و میکروکنترلرهای ما با اعداد دو دویی (باینری) کار می کنند، پس ما چگونه می توانیم حروف، نشانه ها و اعداد ده دهی دسیمال را ذخیره و استفاده کنیم؟ برای انجام این کار ما ابتدا اعدادی را به کاراکترهایمان اختصاص می دهیم که به آن کاراکتر انکودینگ (character encoding) گفته می شود.

بهتر است با یک مثال به بررسی کاراکتر انکودینگ بپردازیم. ما اعداد 1 تا 26 را به حروف a-z زبان انگلیسی نسبت می دهیم. سپس برای نوشتن یک پیام انکود شده اعداد را جایگزین کاراکترها می کنیم. برای مثال  15 12 12 8 5 انکود شده عبارت hello می باشد.

مثال اسکی

اما برای انکود کردن کامل حروف بزرگ و کوچک زبان انگلیسی و اعداد و نشانه ها ما به بیش از 26 عدد نیازمندیم. برای همین American Standard Code for Information Interchange (ASCII) به عنوان یکی از اولین استانداردهای کاراکتر انکودینگ برای کامپیوترها ایجاد شد.

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

باینری: دانستن آنکه یک کامپیوتر چگونه اعداد را ذخیره و بازیابی می کند.

هگزادسیمال: معمولا از هگزادسیمال برای بیان اعداد دودویی باینری در قالب گروه های 4 بیتی استفاده می شود.

نصب IDE آردوینو: با استفاده از آردوینو می توانیم کاراکترهای اسکی را نمایش دهیم و تست کنیم.

تاریخچه اَسکی - تله پرینتر

تاریخچه اَسکی:

انجمن استاندارد آمریکا American Standards Association – ASA که در حال حاضر تبدیل به موسسه ملی استاندارد آمریکا American National Standards Institute – ANSI شده کار بر روی ASCII را از سال 1960 آغاز کرد. طرح انکودینگ ریشه هایی از کدهای 5 بیتی تلگراف ابداعی Emile Baudot داشت. کمیته در نهایت تصمیم به استفاده از کدهای 7 بیتی برای اسکی گرفت. 7 بیت اجازه انتقال 128 کاراکتر را می داد، ان هم تنها کاراکترها و حروف انگلیسی. 7 بیت بدلیل حداقل کردن هزینه های انتقال داده ها در مقایسه با 8 بیت بود.

این مطلب را از دست ندهید  راه اندازی ماژول GY-521 با استفاده از آردوینو

32 کاراکتر اول اسکی کاراکترهای کنترلی رزرو شده بودند. از این کاراکترها برای ارسال دستورات به دستگاه های دیگر مثل پرینتر استفاده می شد. برای مثال کاراکترهایی برای رفتن به خط بعد یا حتی به صدا در آوردن زنگ دستگاه ! انجمن ASA ورژن اولیه ASCII را در سال 1963 و ورژن تجدید نظر شده آن را در سال 1967 انتشار داد. آخرین تغییرات کلی این استاندارد در سال 1986 بوقوع پیوست. اولین استفاده تجاری اسکی در شرکت American Telephone & Telegraph (AT&T) و شبکه TeletypeWriter Exchange (TWX) صورت گرفت.

در سال 1968 رئیس جمهور آمریکا دستور ایجاد پشتیبانی کارکترهای اسکی در تمامی کامپیوترهای دولت فدرال را صادر کرد که موجب فراگیری سراسری آن در آمریکا شد. کاراکتر انکودینگ های دیگری مانند International Telegraph Alphabet No 2 (ITA2) در آن زمان موجود بود ولی اسکی به سرعت تبدیل به استاندارد انکودینگ آمریکا و زبان انگلیسی شد. اسکی محبوب ترین انکودینگ مورد استفاده در اینترنت تا قبل از مقلوب شدن توسط UTF-8 در سال 2007 بود.

جدول اسکی – ASCII Table

برای بدست آوردن کاراکتر کدهای اسکی معمولا از جدول کدهای اسمی استفاده می شود. جدول اسکی هر کاراکتر را با مقدار نسبت داده شده بیت 0 تا 127 جفت می کند.

کاراکترهای کنترلی

کاراکترهای کنترلی 32 کاراکتر اول جدول اَسکی را تشکیل می دهند. این کاراکترها برای پرینت شدن ایجاد نشده اند بلکه از آنها برای ارسال دستورات به دیگر دستگاه ها مثل چاپگر استفاده می شود.

کاراکترهای کنترلی اسکی

کاراکترهای قابل چاپ

تعداد 95 کاراکتر قابل چاپ در کدهای اسکی موجود است. کاراکتر space همان فضای خالی در جملات است.

این مطلب را از دست ندهید  چرا باید از آردوینو استفاده کنیم

کاراکترهای قابل چاپ اسکی

تست در آردوینو

اگر مایل به پرینت کلمات با استفاده از اینکودینگ اَسکی هستید، می توانید از آردوینو برای این کار استفاده کنید. برای کسب اطلاعات بیشتر راجع به پلتفرم آردوینو می توانید به دیگر مطلب دیجی نیک در این زمینه مراجعه کنید.

کد زیر را در IDE Arduino نوشته و آن را اجرا کنید تا عبارت Hello! بصورت مداوم نمایش داده شود. پس از اجرا بر روی آردوینو Serial Console را اجرا کنید.

تست اسکی در آردوینو

دقت کنید که ما از تابع Serial.write() بجای Serial.print() استفاده می کنیم زیرا تابع write داده های خام raw byte را بر روی serial line ارسال می کند. تابع print در مقابل تلاش به تفسیرعدد و ارسال ورژن اینکود شده اسکی آن عدد می کند. برای مثال Serial.print(0x48) عدد 72 را برروی کنسول نمایش می دهد.

همچنین ما از کاراکتر اسکی 0x0A برای رفتن به خط بعد استفاده کردیم. کاری که دکمه enter روی کیبورد انجام می دهد.

اطلاعات بیشتر

در حال حاضر مجموعه کاراکتر انکودینگ های زیادی در دنیا وجود دارد که محبوب ترین آنها در اینترنت UTF8 است. تا ماه ژوئن سال 2016 87 درصد وب سایت های دنیا از این کاراکتر انکودینگ استفاده کرده اند.

انکودینگ UTF-8 سازگاری معکوس با ASCII دارد، بدین معنا که 128 کاراکتر اول آن مشابه اسکی است. انکودینگ UTF-8 می تواند از 2،3 یا 4 بایت برای انکود کردن زبان های مدرن امروزی مثل لاتین، یونانی، سیریلیک، عربی، چینی، کره ای و ژاپنی استفاده کند.

دانش پایه انکودینگ اسکی به شما در کار با سریال ترمینال و برنامه های آن کمک می کند.

درباره نویسنده

مازیار قنبری نژاد

دیدگاهتان را بنویسید