مسئله نمایش حروف روی کنسول و استاندارد یونیکد

چاپ حروف A تا Z در سی شارپ
چاپ حروف A تا Z در سی شارپ

امروز به یک مسئله جالبی برخوردم. مسئله از ما می‌خواست حلقه‌ای بنویسیم که حروف A تا Z را روی کنسول نمایش بدیم. این مسئله از آن نظر جالب بود که من قبلا مدل عددی‌اش را که میگفت اعداد 1 تا n را چاپ کنید حل کرده بودم اما اینکه مسئله از ما بخواهد حروف را چاپ کنیم تا حالا ندیده بودم.

مشکل اینجاست که زبان های برنامه نویسی هنوز به آن میزان از درک و شعور نرسیده‌اند که به فرض ما بنویسیم A+1 و خودشان بفهمند باید بنویسند E، پس راه حل چیست؟ اینکه ما یکجورهایی حروف را تبدیل کنیم به اعداد و عملیات حل مسئله را با اعداد پیش ببریم.

همانطور که می‌دانید و آگاه هستید (و شاید هم آگاه نباشید) در دنیای رایانه استانداردی داریم به نام Unicode که هر حرف و علامتی که روی صفحه نمایش موبایل یا کامپیوترتان می‌بینید در این استاندارد برای خودش یک کد منحصر به فرد دارد. برای مثال همین جناب A در استاندارد یونیکد تبدیل می‌شود به U+0041، به زبان ساده‌تر هر جا رایانه U+0041 را ببیند حرف A را نمایش می‌دهد و برعکس هروقت ما حرف A را بنویسم رایانه U+0041 را در حافظه می‌نویسد (شاید هم ننویسد ? به لینک انتهای یادداشت مراجعه کنید).

حالا قبل از استاندارد یونیکد یک استاندارد دیگری داشتیم به اسم ASCII که در این استاندارد حرف A برابر با 65 بود و البته این استاندارد هنوز به شدت و قدرت در سیستم‌های رایانه‌ای پشتیبانی می‌شود. من برای راحتی کار از سیستم ASCII استفاده کردم. حالا می‌بینیم که مسئله چقدر آسان شد.

کافیست یک متغییری تعریف کنیم و مقدارش را مساوی با 65 قرار بدیم، بعد آن را داخل یک حلقه for بذاریم و یکی یکی بهش اضافه کنیم تا به عدد 92 که همان حرف Z باشد برسیم و تمام.

برای شما

همانطور که دیدید این مسئله به لحاظ برنامه‌نویسی چالشی نداشت اما حُسنش این بود که من کمی راجع به استاندارد یونیکد تحقیق کردم و یک مقاله خوب و مفصل راجع به آن خواندم و کلی چیز یادگرفتم.

https://blog.faradars.org/unicode/

یونیکد (Unicode) چیست؟ — به زبان ساده - فرادرس – مجله‌
یونیکد (Unicode) چیست؟ — به زبان ساده – فرادرس – مجله‌
اگر در مورد یونیکد اطلاعات چندانی ندارید و علاقه‌مند هستید در مورد آن بیشتر بدانید، بهترین مقاله را برای مطالعه انتخاب کرده‌اید. درک مفهوم یونیکد…


توصیه به برنامه نویس‌های تازه‌کار مثل خودم:

علم‌تان راجع به کامپیوتر را بالا ببرید و یاد بگیرید چیزها چطور کار می‌کنند، این کمک میکنه تا مسئله‌ها را راحت‌تر حل کنید.

نویسنده مطلب: وحید بهرامی

منبع مطلب

به فکر سرمایه‌گذاری هستی؟

با هر سطحی از دانش در سریع‌ترین زمان با آموزش گام به گام، سرمایه گذاری را تجربه کن. همین الان میتونی با لینک زیر ثبت نام کنی و ۱۰ درصد تخفیف در کارمزد معاملاتی داشته باشی

ثبت نام و دریافت جایزه
ممکن است شما بپسندید
نظر شما درباره این مطلب

آدرس ایمیل شما منتشر نخواهد شد.