ASCII Character Set

ASCII মানে American Standard Code for Information Interchange। এটি একটি character-encoding scheme। প্রত্যেকটা কারেকটারের জন্য একটা মান রয়েছে। যেখানে A এর মান হচ্ছে ৬৫। আবার ছোট হাতের a এর মান হচ্ছে ৯৭।শূন্য মানে 0 এর মান হচ্ছে 48.  নিচের টেবিলটি দেখিঃ

 

ASCII

 

প্রতেকটা কারেকটারের Decimal এবং Hexadecimal মান। বলা যায় প্রত্যেকটা কারেকটারের জন্য একটা ম্যাপ।


#include <stdio.h>

int main()
{
 char ch = 'A';
 printf("%c", ch);
 return 0;
}

উপরের প্রোগ্রামে কারেকটা A একটা ভ্যারিয়েবলের রেখেছি। এরপর তা প্রিন্ট করেছি।

এখন যদি A এর ASCII মান বের করতে চাই, তাহলে শুধু প্লেসহোল্ডারটা পরিবর্তন করে %d দিলেই A এর ASCII মান পেয়ে যাবোঃ


#include <stdio.h>

int main()
{
 char ch = 'A';
 printf("%d", ch);
 return 0;
}

আমরা আবার ৬৫ কে কারেকটারে কনভার্ট করলে পাবো A. নিচের প্রোগ্রামটি দেখিঃ

 


#include <stdio.h>

int main()
{
 char ch = 65;
 printf("%c", ch);
 return 0;
}

 

উপরের প্রোগ্রামে একটি কারেকটার ভ্যারিয়েবলের ৬৫ রেখেছি। পরে যখন তা প্রিন্ট করেছি, তা প্রিন্ট করেছি কারেকটার হিসেবে। এবং আমরা আউটপুট পেয়েছি A.

এভাবে অন্য কোন মান নিয়ে দেখতে পারি।

প্রশ্নঃ char ch = 116 দিয়ে প্রিন্ট করলে কি আউটপুট পাবো?

ctype.h: Character functions

 

আমরা এখন ctype.h এর মধ্যে যে ফাংশন গুলো রয়েছে, সে গুলো সম্পর্কে জানবো।

isdigit() ফাংশনটি দিয়ে একটা ইনপুট ০-৯ পর্যন্ত [0 1 2 3 4 5 6 7 8 9] সংখ্যা গুলো কিনা, তা পরীক্ষা করা হয়। নিচের প্রোগ্রামটি দেখি। নিচের প্রোগ্রামটি জানার আগে আমাদের if-else সম্পর্কে ধারণা থাকতে হবে।

 



#include <stdio.h>

int main()
{
 int digit;
 printf("Enter a digit: ");
 scanf("%c",&digit);

if(isdigit(digit)){
 printf("You enter a digit and it is: %c", digit);
 } else {
 printf("It was not a digit, digits are: 0 1 2 3 4 5 6 7 8 9");
 }
 return(0);
}


আমরা isdigit() এর ভেতরে আমাদের ইনপুট নেওয়া মানটি দিয়েছি।  যদি আমরা একটা ডিজিট ইনপুট দি, তাহলে isdigit() সত্য রিটার্ন করে। এবং if কন্ডিশনের ভেতর ঢুকে। যদি ডিজিট ছাড়া অন্য কিছু ইনপুট দি, তাহলে isdigit() মিথ্যে রিটার্ন করে। এবং else এর ভেতর ঢুকে।

 

isalpha()

isalpha() দিয়ে একটা ভ্যালু পাস করি, তাহলে তা  Alphabet  কিনা তা চেক করে।  Alphabet  গুলো হচ্ছে A-Z এবং a-z. আমরা যদি এ গুলো যে কোন একটা পাস করি, তাহলে ফাংশনটি ০ ছাড়া অন্য যে কোন একটা মান রিটার্ণ করবে। মানে সত্য। যদি Alphabet  না হয়, আহলে রিটার্ণ করবে ০। মানে মিথ্যে। নিচের কোড গুলো রান করে দেখিঃ


#include <stdio.h>

int main()
{
 char alph;
 printf("Enter a alphabet: ");
 scanf("%c",&alph);

if(isalpha(alph)){
 printf("You entered a alphabet and it is: %c", alph);
 } else {
 printf("It was not a alphabet");
 }
 return(0);
}

isalnum()

 

isalnum() দিয়ে চেক করা হয়ে Alphabet অথবা Numeric কারেকটার কিনা।   Alphabet অথবা Numeric কারেকটার গুলোকে বলা হয় Alphanumeric।

 


#include <stdio.h>

int main()
{
char alphanumeric;
printf("Enter a Alphanumeric characters: ");
scanf("%c",&alphanumeric);

if(isalnum(alphanumeric)){
printf("You entered a Alphanumeric and it is: %c", alphanumeric);
} else {
printf("It was not a Alphanumeric character");
}
return(0);
}

 

islower()

islower() দিয়ে কোন লেটার ছোট হাতের কিনা, তা টেস্ট করে। যদি ছোট হাতের হয়, তাহলে সত্য রিটার্ণ করে। না হয় মিথ্যে।

 


#include <stdio.h>

int main()
{
char ch;
printf("Enter a character: ");
scanf("%c",&ch);

if(islower(ch)){
printf("You entered lower case character", ch);
} else {
printf("It was not a lower case character");
}
return(0);
}

 

isupper()

isupper() দিয়ে কোন লেটার বড় হাতের কিনা, তা টেস্ট করে। যদি বড় হাতের হয়, তাহলে সত্য রিটার্ণ করে। না হয় মিথ্যে।


One thought on “ASCII Character Set

  1. অনেক সুন্দর একটি পোষ্ট জাকির ভাই৷৷৷৷৷৷৷৷
    ধন্যবাদ পোষ্টটি লেখার জন্য
    জাকির ভাই আমাকে আপনি কি এনড্রএট সফটার তৈরির প্রছেচ টা বলবেন আমি শুদু ঐ সফটারে আমার সাইট দিতে চাই যেমন বাংলা নিউজ পেপার সফটার
    এমন একটি সফটার তৈরি করতে চাই দয়া করে সি কোড টি আমাকে দিবেন ভাই৷৷

Leave a Reply

Your email address will not be published. Required fields are marked *