کمپیوٹر نمبر استعمال کرتے ہیں۔ لوگ حروف اور علامتیں استعمال کرتے ہیں۔ ہمیں ایک پل کی ضرورت ہے۔ ASCII وہ پل ہے۔ ASCII ہر حرف یا علامت کو ایک عدد میں بدل دیتا ہے۔ کمپیوٹر نمبر محفوظ کرتا ہے۔ جب ہم پڑھتے ہیں تو کمپیوٹر دوبارہ خط دکھاتا ہے۔ متن بہت سی فائلوں اور ایپس میں اس طرح کام کرتا ہے۔
کمپیوٹر بجلی سے کام کرتا ہے۔ یہ دو ریاستیں دیکھتا ہے۔ آن اور آف۔ ہم ان ریاستوں کو بٹس کہتے ہیں۔ ایک بٹ 0 یا 1 ہوتا ہے۔ بہت سے بٹس مل کر بڑے نمبر بناتے ہیں۔ آٹھ بٹس ایک بائٹ بناتے ہیں۔ بٹس کے ساتھ، ہم شمار کر سکتے ہیں. گنتی کے ساتھ، ہم چیزوں کو نام دے سکتے ہیں۔ ASCII نام کے حروف اور علامتوں کے لیے گنتی کا استعمال کرتا ہے۔
ایک بٹ دو انتخاب کرتا ہے۔ دو بٹس چار انتخاب کرتے ہیں۔ ریاضی میں، یہ خیال \(\;2^n\) کے طور پر دکھایا گیا ہے۔ \(n=7\) کے لیے، ہمیں \(2^7 = 128\) انتخاب ملتے ہیں۔ \(n=8\) کے لیے، ہمیں \(2^8 = 256\) انتخاب ملتے ہیں۔ ASCII 7 بٹس استعمال کرتا ہے۔ اس سے 128 نامی اشیاء ملتی ہیں۔ لوگوں نے بعد میں 256 اشیاء کے ساتھ 8 بٹ سیٹ بنائے۔ ان کو توسیعی ASCII کہا جاتا ہے۔
ASCII کا مطلب امریکن اسٹینڈرڈ کوڈ فار انفارمیشن انٹرچینج ہے۔ اس کا آغاز 1960 کی دہائی میں ہوا۔ یہ ابتدائی پرنٹرز، ٹیلی ٹائپ اور کمپیوٹرز کے لیے بنایا گیا تھا۔ یہ ہر حرف، نمبر، جگہ، اور کچھ علامتوں کو ایک نمبر دیتا ہے۔ یہ نئی لائن جیسی کارروائیوں کو خصوصی نمبر بھی دیتا ہے۔ پہلے ورژن میں 7 بٹس استعمال کیے گئے تھے، اس لیے اس کے نمبر 0 سے 127 تک تھے۔
کچھ صاف ستھرا نوٹ کریں۔ چھوٹے حروف ان کے بڑے حروف کے جوڑے سے 32 زیادہ ہیں۔ مثال کے طور پر، \(\;97 - 65 = 32\) ۔ تو 'a' 'A' سے 32 زیادہ ہے۔ 'b' 'B' سے 32 زیادہ ہے، وغیرہ۔ یہ پیٹرن کمپیوٹر کے کچھ کاموں کو آسان بناتا ہے۔
جب آپ Enter کلید دباتے ہیں، تو آپ کا کمپیوٹر سسٹم کے لحاظ سے LF، یا CR، یا دونوں بھیج سکتا ہے۔ بہت سے انٹرنیٹ ٹولز LF استعمال کرتے ہیں۔ کچھ پرانے سسٹمز CR اور LF کو ایک ساتھ استعمال کرتے تھے۔
ہم نمبروں کو مختلف طریقوں سے لکھ سکتے ہیں۔ اعشاریہ وہ عام طریقہ ہے جسے ہم 0 سے 9 ہندسوں کا استعمال کرتے ہوئے گنتے ہیں۔ بائنری صرف 0 اور 1 استعمال کرتا ہے۔ ہیکس (ہیکساڈیسیمل) 0 سے 9 اور A سے F استعمال کرتا ہے۔
بائنری 'A' کے لیے 65 کیسے بناتی ہے؟ 01000001 میں بٹس دیکھیں۔ سب سے بائیں بٹ 128 کے لیے ہے۔ پھر 64، 32، 16، 8، 4، 2، 1۔ صرف 64 اور 1 آن ہیں۔ تو \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\)
ایک کلید دبائیں۔ کی بورڈ کمپیوٹر کو ایک کوڈ بھیجتا ہے۔ سسٹم اسے کریکٹر نمبر میں بدل دیتا ہے۔ بہت سی کلیدوں کے لیے، وہ نمبر ASCII نمبر ہے۔ ایپ نمبر کو میموری میں محفوظ کرتی ہے۔ جب یہ متن دکھاتا ہے، تو یہ نمبر دیکھتا ہے اور خط کھینچتا ہے۔ جب آپ محفوظ کرتے ہیں، نمبرز فائل میں چلے جاتے ہیں۔
ہیلو پیغام کے بارے میں سوچو! . حروف H، i، اور ! ان کے ASCII نمبرز 72، 105، اور 33 ہیں۔ بائنری میں، وہ 01001000، 01101001، اور 00100001 ہیں۔ نیٹ ورک یہ بٹس بھیجتا ہے۔ دوسری طرف بٹس پڑھتا ہے. یہ نمبر دیکھتا ہے۔ یہ H، i، اور ! دوبارہ اس طرح سادہ ٹیکسٹ پیغامات منتقل ہوتے ہیں۔
لوگ مزید علامتیں چاہتے تھے۔ وہ é، ñ، اور ø جیسے حروف چاہتے تھے۔ وہ پیسے کے نشانات چاہتے تھے جیسے €۔ 7 بٹ سیٹ میں صرف 128 علامتیں تھیں۔ تو لوگوں نے 8 بٹس کا استعمال کیا۔ 8 بٹس کے ساتھ، ہمیں \(2^8 = 256\) علامتیں ملتی ہیں۔ اوپر والا نصف، 128 سے 255 تک، اضافی حروف اور علامتوں کے لیے استعمال ہوتا تھا۔ لیکن ایک مسئلہ تھا۔ مختلف گروہوں نے ان اضافی حروف کے لیے مختلف نمبروں کا انتخاب کیا۔ ان انتخابات کو کوڈ پیجز کہا جاتا ہے۔
چونکہ کوڈ کے صفحات مختلف ہیں، اسی لیے ایک ہی نمبر دوسرے کمپیوٹر پر مختلف علامت دکھا سکتا ہے۔ اس مرکب کو موجی بیک کہتے ہیں۔ یہ عجیب کرداروں کی طرح لگتا ہے۔ یہ ایک وجہ ہے کہ دنیا یونیکوڈ کی طرف چلی گئی۔
یونیکوڈ ایک بڑا معیار ہے جو بہت سی زبانیں، ریاضی کی علامتیں اور ایموجی دکھا سکتا ہے۔ اس میں دس لاکھ سے زیادہ علامتوں کی جگہ ہے۔ یونیکوڈ کو ذخیرہ کرنے کے بہت سے طریقے ہیں۔ ایک مقبول طریقہ UTF-8 ہے۔
صرف ASCII متن کے ساتھ، ہر کردار ایک بائٹ استعمال کرتا ہے۔ تو لفظ بلی 3 بائٹس استعمال کرتا ہے۔ hi mom کے جملے میں 6 حروف ہیں بشمول اسپیس، لہذا یہ 6 بائٹس استعمال کرتا ہے۔ سادہ ریاضی میں، \(\textrm{ASCII بائٹس} = \textrm{حروف کی تعداد}\) ۔
کمپیوٹر اکثر تاروں کو ان کے کریکٹر نمبرز کے مطابق ترتیب دیتے ہیں۔ ASCII چیزوں کو ایک خاص طریقے سے گروپ کرتا ہے۔
اس کا مطلب ہے کہ اگر ہم سادہ ASCII قدروں کا موازنہ کریں تو Zoo ایپل سے پہلے آتا ہے۔ ترتیب نمبروں کے حساب سے ہے، الفاظ کی آواز کے لحاظ سے نہیں۔
نوٹ کریں ایمپرسینڈ ہے &. اس کا ASCII نمبر 38 ہے۔ جمع کا نشان + 43 ہے۔ مائنس کا نشان - 45 ہے۔
لوگ صرف کرداروں کا استعمال کرتے ہوئے تصویریں بناتے ہیں۔ اسے ASCII آرٹ کہتے ہیں۔ یہاں ASCII حروف کے ساتھ بنایا گیا ایک چھوٹا سا چہرہ ہے۔
:-) سادہ سی مسکراہٹ
(^_^) دوستانہ چہرہ
o_O حیران
ہر چہرہ بڑی آنت، ڈیش، اور قوسین جیسے صرف حروف ہے۔ کوئی رنگ یا شکل نہیں۔ صرف متن۔
ASCII ٹیلی ٹائپس اور ابتدائی کمپیوٹرز سے پروان چڑھا۔ 1963 میں، ایک پہلے ورژن پر اتفاق کیا گیا تھا. اس نے بہت سی مختلف مشینوں کو ایک دوسرے سے بات کرنے میں مدد کی۔ ایک مشترکہ کوڈ کے ساتھ، A جیسے خط کا مطلب ہر جگہ ایک ہی نمبر ہوتا ہے۔ اس سے پیغامات بھیجنا اور متن پرنٹ کرنا آسان ہو گیا۔
ASCII کے پاس صرف 128 آئٹمز ہیں۔ یہ تمام زبانوں کے لیے کافی نہیں ہے۔ یہ چینی، ہندی، عربی، یا بہت سے دوسرے رسم الخط نہیں دکھا سکتا۔ یہ ایموجی نہیں دکھا سکتا۔ یہ ریاضی اور موسیقی کی بہت سی علامتیں بھی نہیں دکھا سکتا۔ ان کے لیے ہم یونیکوڈ استعمال کرتے ہیں۔ یونیکوڈ بہت سے اسکرپٹ اور علامتیں دکھا سکتا ہے۔ UTF-8 انہیں ذخیرہ کرنے کا ایک طریقہ ہے۔ اچھی خبر یہ ہے کہ تمام ASCII متن UTF-8 کے اندر کام کرتا ہے۔ لہذا جدید نظام پرانے ASCII کو آسانی سے پڑھ سکتے ہیں۔
زیادہ تر ایپس UTF-8 کی توقع کرتی ہیں۔ لیکن جب فائل میں صرف ASCII حروف اور علامتیں ہوں تو یہ UTF-8 کے تحت ایک جیسی نظر آتی ہے۔ پروگرامرز کو یہ پسند ہے کیونکہ یہ چیزوں کو آسان رکھتا ہے۔ ویب صفحات، APIs، اور بہت سے ٹولز UTF-8 استعمال کرتے ہیں، جس میں ASCII بغیر کسی تبدیلی کے شامل ہے۔
ASCII ایک 7 بٹ سیٹ ہے۔ اس کا مطلب ہے \(2^7 = 128\) مختلف حروف تک۔ 8 بٹس والے ایک توسیعی سیٹ میں \(2^8 = 256\) آئٹمز ہوتے ہیں۔ اگر آپ کے متن میں صرف ASCII حروف ہیں، اور اس میں \(n\) حروف ہیں، تو یہ \(n\) بائٹس استعمال کرتا ہے۔ ایک چھوٹے سے پیغام میں جیسے OK ، \(n = 2\) ۔ لہذا جب ASCII یا UTF-8 کے بطور ذخیرہ کیا جاتا ہے تو یہ 2 بائٹس استعمال کرتا ہے۔
کچھ ASCII آئٹمز ایکشن کرتے ہیں اور پرنٹ نہیں کرتے ہیں۔ خلائی پرنٹس خالی۔ لیکن LF اور CR کرسر کو حرکت دیتے ہیں۔ ٹی اے بی چھلانگ لگاتا ہے۔ جب ہم کسی خصوصی ایڈیٹر میں فائل کھولتے ہیں، تو یہ LF کو بطور \n دکھا سکتا ہے۔ وہ علامت خود ASCII کا حصہ نہیں ہے۔ یہ ایک ایسا طریقہ ہے جس سے ایڈیٹر آپ کو لائن بریک دکھاتا ہے۔
ایک لیبل بنانے والے کا تصور کریں جو نام پرنٹ کرتا ہے۔ یہ نام کو حروف کے طور پر پڑھتا ہے۔ یہ ہر کردار کو ASCII نمبروں میں بدل دیتا ہے۔ یہ ان نمبروں کو میموری میں محفوظ کرتا ہے۔ یہ ہر نمبر کو کس طرح کھینچنا ہے اسے دیکھ کر حروف کو پرنٹ کرتا ہے۔ اگر یہ LF (10) سے ملتا ہے، تو یہ مزید پرنٹ کرنے سے پہلے اگلی لائن پر چلا جاتا ہے۔
کردار کو دیکھو '!' دوبارہ ہم اس کا کوڈ تین طریقوں سے لکھ سکتے ہیں۔ اعشاریہ: 33. بائنری: 00100001. ہیکس: 21. ریاضی کی شکل میں، \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) ۔ ہر شکل ایک ہی قدر ہے۔ ایپس اپنی ضرورت کا فارم چنتی ہیں۔ لوگ اکثر اعشاریہ پڑھتے ہیں۔ بائنری جیسے کمپیوٹر۔ ہیکس لوگوں کے لیے بائنری نمبرز پڑھنے کا ایک مختصر طریقہ ہے۔
ASCII چھوٹا اور واضح ہے۔ یہ ابتدائی طور پر بنایا گیا تھا. اس پر بہت سے اوزار اور پروٹوکول بنائے گئے تھے۔ چونکہ پہلے 128 یونیکوڈ کوڈ ASCII سے مماثل ہیں، یہ منصوبہ آج بھی کام کرتا ہے۔ یہی وجہ ہے کہ آپ نئے فون یا لیپ ٹاپ پر بہت پرانی ٹیکسٹ فائلیں کھول سکتے ہیں اور وہی حروف دیکھ سکتے ہیں۔
ہیلو ٹیکسٹ کے ساتھ فائل کھولیں۔ بائٹس ASCII نمبرز ہیں 72 101 108 108 111۔ بائنری میں، وہ ہیں 01001000 01100101 01101100 01101100 01101111۔ ایپ ہر نمبر کو پڑھتی ہے اور اسکرین پر Hello کھینچتی ہے۔ اگر اگلا نمبر 10 ہے، تو مزید متن کھینچنے سے پہلے یہ ایک نئی لائن میں چلا جاتا ہے۔ یہ عمل کتنا سادہ اور مستحکم ہے۔
نمبر 10 کے بارے میں سوچئے۔ بائنری میں، یعنی 00001010۔ اعشاریہ میں، یہ دس ہے۔ ASCII میں، 10 LF ہے، لائن فیڈ۔ اس سے پتہ چلتا ہے کہ ایک ہی نمبر کو مختلف طریقوں سے کیسے دکھایا جا سکتا ہے۔ معنی اس سے آتا ہے کہ ہم نمبر کو کس طرح استعمال کرتے ہیں۔ اگر ہم کہتے ہیں کہ یہ ایک کریکٹر کوڈ ہے، تو 10 کا مطلب ہے LF۔ اگر ہم کہتے ہیں کہ یہ صرف سیبوں کی گنتی ہے، تو یہ دس سیب ہیں۔ سیاق و سباق کی اہمیت۔
ہم لفظ سن کو ایک ڈیوائس سے دوسرے ڈیوائس میں بھیجیں گے۔ کوڈز 'S' 83، 'u' 117، 'n' 110 ہیں۔ بائنری میں، 83 01010011 ہے، 117 01110101 ہے، 110 01101110 ہے۔ بٹس آن اور آف سگنل کے طور پر سفر کرتے ہیں۔ دوسرا آلہ بٹس کو واپس نمبروں میں بدل دیتا ہے۔ پھر یہ نمبروں کو حروف میں بدل دیتا ہے۔ یہ لفظ سورج کو ظاہر کرتا ہے۔ اگر اگلا کوڈ 32 ہے تو یہ ایک جگہ ہے۔ اگر اگلا 33 ہے، تو وہ ہے '!'۔ قوانین ہر بار ایک جیسے رہتے ہیں۔ یہ مشترکہ کوڈ کی طاقت ہے۔