Skip to content
ASCII ٹیبل
Tools

ASCII ٹیبل

نیا

decimal، hex، octal اور binary میں قابلِ تلاش حرف کوڈز۔

Text ↔ ASCII converter

CharDecHexOctBinaryHTMLName

Runs entirely in your browser. Nothing is uploaded.

ASCII ٹیبل کیا ہے؟

ASCII ٹیبل کریکٹر کوڈز کا ایک مکمل چارٹ ہے جو ہر حرف، ہندسے، رموز اوقاف، خالی جگہ (space) اور کنٹرول سگنل کو ایک منفرد نمبر سے جوڑتا ہے۔ ASCII — American Standard Code for Information Interchange — 1963 میں شائع ہوا اور آج بھی وہ بنیاد ہے جس پر تقریباً ہر جدید ٹیکسٹ اینکوڈنگ، بشمول UTF-8، کھڑی ہے۔ یہ ASCII کوڈ ٹیبل ہر کریکٹر کو اس کی ڈیسیمل، ہیکساڈیسیمل، آکٹل اور بائنری ویلیوز کے ساتھ فہرست میں دکھاتا ہے، اس کے ساتھ اس کا HTML entity اور Unicode کوڈ پوائنٹ بھی، تاکہ آپ فوراً دیکھ سکیں کہ کوئی بھی کریکٹر بائٹ کی سطح پر کیسے ظاہر ہوتا ہے۔

چونکہ پورا ٹیبل صفحے میں شامل ہے اور مکمل طور پر آپ کے براؤزر میں چلتا ہے، یہ فوراً لوڈ ہوتا ہے، آف لائن کام کرتا ہے اور آپ جو کچھ ٹائپ کرتے ہیں اسے کہیں اپ لوڈ نہیں کرتا۔ یہ ڈیولپرز، طلبہ، ایمبیڈڈ انجینئرز اور ہر اُس شخص کے لیے ایک تیز، نجی اور انٹرایکٹو حوالہ ہے جو یہ سیکھنا چاہتا ہے کہ کمپیوٹر ٹیکسٹ کو کیسے محفوظ اور منتقل کرتے ہیں۔ یہ asciitable.com یا w3schools جیسی سائٹس کے جامد PDFs اور غیر انٹرایکٹو صفحات سے بہتر ہے، کیونکہ یہاں آپ کسی بھی ویلیو کو کلک کر کے کاپی کر سکتے ہیں اور نام، ڈیسیمل، ہیکس یا بائنری سے بیک وقت تلاش کر سکتے ہیں۔

ASCII ٹیبل کیسے پڑھیں

ہر قطار ایک کریکٹر کی نمائندگی کرتی ہے۔ ASCII ٹیبل پڑھنے کے لیے، Char کالم میں وہ علامت تلاش کریں جو آپ چاہتے ہیں اور اُس کے آگے دیکھیں کہ اُس کا نمبر چار مختلف بنیادوں میں کیا ہے: ڈیسیمل (روزمرہ کی ویلیو، جیسے 65)، ہیکساڈیسیمل (0x41)، آکٹل (101) اور بائنری (01000001)۔ Name کالم غیر پرنٹ ہونے والی اندراجات کی وضاحت کرتا ہے — مثلاً کوڈ 9 TAB ہے، کوڈ 10 LF (لائن فیڈ) ہے اور کوڈ 13 CR (کیریج ریٹرن) ہے۔ ان کنٹرول کریکٹر کوڈز کا علم فائلوں کو پارس کرنے، escape sequences لکھنے اور ٹرمینل آؤٹ پٹ ڈیبگ کرنے کے لیے ضروری ہے۔

پہلے 32 کوڈز (0–31) اور 127 کنٹرول کریکٹرز ہیں: یہ غیر مرئی سگنل ہیں جو ٹیکسٹ کو فارمیٹ کرتے یا آلات کو کنٹرول کرتے ہیں، کوئی نظر آنے والی علامت نہیں چھاپتے۔ کوڈ 32–126 پرنٹ ہونے والے کریکٹرز ہیں — space، ہندسے 0–9، بڑے حروف A–Z (65–90)، چھوٹے حروف a–z (97–122) اور عام رموز اوقاف۔ چند بنیادی نقاط یاد رکھنا (A=65، a=97، 0=48، space=32) باقی چارٹ کو ذہنی طور پر پڑھنے کے لیے کافی ہے۔ Python میں ord('A') 65 لوٹاتا ہے اور chr(65) 'A' لوٹاتا ہے؛ C میں کسی char کو int میں کاسٹ کرنے سے آپ کو براہِ راست کوڈ مل جاتا ہے۔

ASCII ٹیبل میں کتنے کریکٹرز ہوتے ہیں؟

معیاری ASCII بالکل 128 کریکٹرز کی تعریف کرتا ہے، جو 0 سے 127 تک نمبر شدہ ہیں، کیونکہ یہ ایک 7-bit کوڈ ہے (2⁷ = 128)۔ 256 کریکٹرز کا اکثر ذکر کیا جانے والا عدد دراصل ایکسٹینڈڈ ASCII کی طرف اشارہ ہے، جو ایک بائٹ کے پورے آٹھویں bit کو استعمال کر کے کوڈز 128–255 کا اضافہ کرتا ہے۔ یہ اضافی خانے اصل ASCII معیار کا حصہ نہیں ہیں اور ان کا مطلب استعمال ہونے والے code page پر منحصر ہے؛ سب سے عام میپنگ Latin-1 (ISO-8859-1) ہے، جو زبر زیر والے حروف اور مغربی یورپی علامتیں فراہم کرتا ہے۔ معیاری 128-کریکٹر سیٹ اور Latin-1 میپنگز کے ساتھ مکمل 256-کریکٹر ویو کے درمیان سوئچ کرنے کے لیے Show extended کو ٹوگل کریں — یہ ایک ایسی خصوصیت ہے جو جامد چارٹس میں دستیاب نہیں۔

ASCII ٹیبل کیسے کام کرتا ہے؟

کمپیوٹر صرف نمبر محفوظ کرتے ہیں، اس لیے ASCII ٹیکسٹ کو ایک نمبر دیتا ہے۔ ASCII ٹیبل کام کرتا ہے ہر کریکٹر کو ایک مقررہ کوڈ تفویض کر کے جو ایک بائٹ میں سما جاتا ہے۔ لفظ 'Hi' دو بائٹس 72 اور 105 کے طور پر محفوظ ہوتا ہے۔ جب آپ کوئی کلید دباتے ہیں، تو آپ کا کی بورڈ وہ کوڈ آپریٹنگ سسٹم کو بھیجتا ہے؛ جب سافٹ ویئر اسکرین پر ٹیکسٹ کھینچتا ہے، تو وہ کوڈ پڑھ کر متعلقہ علامت بناتا ہے۔ کوڈز کا علم اُس وقت ضروری ہوتا ہے جب آپ ڈیٹا فائلیں پارس کر رہے ہوں، ٹرمینلز کے لیے escape sequences لکھ رہے ہوں، کریکٹر اینکوڈنگ کے مسائل ڈیبگ کر رہے ہوں، یا کورس ورک میں مختلف نمبر بنیادوں کے درمیان تبدیلی کر رہے ہوں۔

ASCII اس طرح ڈیزائن کیا گیا کہ حروف کو حسابی طور پر جوڑ توڑ کیا جا سکے۔ بڑے حروف A–Z 65 سے شروع ہوتے ہیں اور چھوٹے حروف a–z 97 سے، اس لیے آپ 32 جوڑ یا گھٹا کر کسی بھی حرف کو ایک case سے دوسرے میں بدل سکتے ہیں — یہ C اور assembly میں ایک عام bit-manipulation ترکیب ہے۔ اسی طرح، ہندسوں کے کریکٹرز '0'–'9' 48 سے شروع ہوتے ہیں، اس لیے 48 گھٹانے سے ASCII کریکٹر کوڈ اُس عدد میں بدل جاتا ہے جس کی وہ نمائندگی کرتا ہے۔ یہ حسابی خوبصورتی ایک سوچا سمجھا ڈیزائن انتخاب ہے جس نے ابتدائی 8-bit ہارڈویئر پر بھی ASCII پر مبنی پروگرامنگ کو مؤثر بنایا۔

یہ ASCII ٹیبل asciitable.com اور w3schools سے بہتر کیوں ہے

آن لائن زیادہ تر ASCII حوالہ چارٹس asciitable.com یا w3schools.com جیسی سائٹس سے جامد تصاویر یا PDFs ہوتے ہیں — آپ ان میں تلاش نہیں کر سکتے، کسی ویلیو کو کلک کر کے کاپی نہیں کر سکتے، اور ان میں ٹیکسٹ سے ASCII کنورٹر شامل نہیں ہوتا۔ asciitable.com چھوٹے فونٹ میں ایک مقررہ ٹیبل پیش کرتا ہے جس میں کوئی انٹرایکٹویٹی نہیں۔ w3schools ایک بنیادی HTML ٹیبل پیش کرتا ہے مگر اس میں بھی کلک ٹو کاپی، لائیو تلاش یا بلٹ اِن ٹیکسٹ کنورٹر موجود نہیں۔ دونوں میں آپ کو مطلوبہ چیز تلاش کرنے کے لیے نمبروں کی قطاروں کو نظروں سے کھنگالنا پڑتا ہے۔

یہ انٹرایکٹو ٹول آپ کو کریکٹر کے نام، ڈیسیمل ویلیو، ہیکس کوڈ یا بائنری پیٹرن سے تلاش کرنے دیتا ہے — 'space'، '32'، '0x20'، یا '00100000' ٹائپ کریں اور یہ سیدھا درست قطار پر پہنچ جاتا ہے۔ کسی بھی ویلیو کو کلک کر کے فوراً اپنی clipboard میں کاپی کریں۔ بلٹ اِن دو طرفہ کنورٹر وہ خصوصیت ہے جس کا مقابلہ کوئی جامد چارٹ نہیں کر سکتا: کوئی بھی ٹیکسٹ پیسٹ کریں تاکہ اس کے ASCII کوڈز ڈیسیمل، ہیکس یا بائنری میں حاصل ہوں، یا کوڈز کی فہرست پیسٹ کریں تاکہ انہیں واپس ٹیکسٹ میں بدلا جا سکے۔ اینکوڈنگ کے مسائل ڈیبگ کرنے والے ڈیولپرز، کمپیوٹر سائنس کی اسائنمنٹس مکمل کرنے والے طلبہ، اور serial protocols پر کام کرنے والے انجینئرز — سب کو ایک ہی فوری، نجی اور اشتہار سے پاک تجربہ ملتا ہے — بغیر کسی سائن اپ کے اور کچھ بھی ان کے آلے سے باہر نہیں جاتا۔

ASCII معیار اور اس کی تاریخ

ASCII باضابطہ طور پر 1963 میں American Standards Association (ASA، بعد میں ANSI) کے ذریعے شائع ہوا، جو اُن ناموافق کریکٹر سیٹس کو یکجا کرنے کی ایک کمیٹی کوشش کا نتیجہ تھا جنہیں مختلف کمپیوٹر اور ٹیلی ٹائپ بنانے والوں نے آزادانہ طور پر ایجاد کیا تھا۔ ASCII سے پہلے IBM مین فریمز، Burroughs مشینیں اور Teletype ٹرمینلز سب مختلف کریکٹر کوڈز بولتے تھے، جس سے سسٹموں کے درمیان ڈیٹا کا تبادلہ ناقابلِ اعتبار اور مہنگا تھا۔ 1963 کے ورژن میں چھوٹے حروف موجود نہیں تھے؛ 1967 میں ایک اہم نظرِ ثانی نے مکمل چھوٹے حروف تہجی کا اضافہ کیا، جس سے وہ 128-کریکٹر سیٹ بنا جس کا سامنا ہر پروگرامر آج بھی کرتا ہے۔ Bell Labs اور AT&T اس معیار سازی کے عمل میں گہرے اثر رکھتے تھے — AT&T کا ملک گیر ٹیلی فون نیٹ ورک اُس دور کے زیادہ تر کمپیوٹر سے کمپیوٹر رابطے کی ریڑھ کی ہڈی تھا۔

7 bits کا انتخاب (جو 128 کوڈ پوائنٹس دیتا ہے) اتفاقی نہیں بلکہ سوچا سمجھا تھا۔ ابتدائی modems اور serial links عام طور پر ہر بائٹ کے آٹھویں bit کو parity bit کے طور پر استعمال کرتے تھے — ایک غلطی جانچنے کا طریقہ جو high bit کو اس طرح سیٹ کرتا ہے کہ ہر بائٹ میں 1-bits کی کل تعداد ہمیشہ طاق (یا ہمیشہ جفت) ہو، جس سے وصول کنندہ کو ایک bit کی ترسیلی غلطیوں کا پتہ لگانے میں مدد ملتی ہے۔ bit 7 کو parity کے لیے مختص کرنے کا مطلب تھا کہ ASCII کریکٹرز کو باقی سات bits میں سمانا پڑا۔ جیسے جیسے غلطی کی درستگی مخصوص ہارڈویئر اور پروٹوکول لیئرز میں منتقل ہوئی، آٹھواں bit آزاد ہو گیا — جس نے ایکسٹینڈڈ ASCII اور بالآخر Unicode کا دروازہ کھولا۔ اس عملی انتخاب کی طویل مدتی وراثت UTF-8 میں نظر آتی ہے: اس کے ڈیزائنرز نے یقینی بنایا کہ کوئی بھی ASCII بائٹ (high bit صفر) UTF-8 میں یکساں طور پر تعبیر ہو۔

یہ پس ماندہ مطابقت کوئی اتفاق نہیں — یہ بنیادی وجہ ہے کہ UTF-8 نے انٹرنیٹ پر ہر مسابقتی Unicode اینکوڈنگ کو پیچھے چھوڑ دیا۔ 1971 میں PDP-11 پر لکھی گئی ایک ASCII سادہ متن فائل آج بھی درست UTF-8 ہے۔ ویب سرورز، JSON پارسرز، XML پروسیسرز اور تقریباً ہر نیٹ ورک پروٹوکول یہ فرض کرتے ہیں کہ کوڈ پوائنٹس 0–127 ASCII ہیں۔ اس لیے اصل 128-کریکٹر ٹیبل کو سمجھنا ایک بنیادی مہارت رہتا ہے، چاہے آپ کبھی legacy سسٹموں کے ساتھ کام کریں یا نہ کریں، کیونکہ اس نے جو ساخت قائم کی وہ ہر اُس ٹیکسٹ پروسیسنگ تجرید کو شکل دیتی ہے جو اس کے اوپر بنائی گئی ہے۔

کنٹرول کریکٹرز (کوڈز 0–31) اور وہ اصل میں کیا کرتے تھے

پہلے 32 ASCII کوڈز کنٹرول کریکٹرز ہیں — یہ کوئی نظر آنے والی علامت نہیں چھاپتے بلکہ ڈیٹا وصول کرنے والے آلے کو ایک عمل کا اشارہ دیتے ہیں۔ ان کے نام اور مقاصد براہِ راست ٹیلی ٹائپ مشینوں سے وراثت میں ملے (میکانکی ٹرمینلز جو مسلسل کاغذ کے رول پر چھاپتے تھے)۔ NUL (0) ٹیلی ٹائپ پیپر ٹیپ سسٹمز میں میکانکی تاخیر کے لیے ایک no-operation padding بائٹ تھا؛ C نے بعد میں اسے اُس string terminator کے طور پر دوبارہ استعمال کیا جو ہر null-terminated کریکٹر array کو ختم کرتا ہے۔ BEL (7) لفظی طور پر ٹیلی ٹائپ پر لگی ایک جسمانی گھنٹی بجاتا تھا۔ BS (8 — بیک اسپیس) پرنٹ ہیڈ کو ایک خانہ بائیں منتقل کرتا تھا۔ HT (9 — horizontal tab) کیریج کو اگلے مقررہ tab stop تک بڑھاتا تھا۔ LF (10 — لائن فیڈ) کاغذ کو کیریج ہلائے بغیر ایک لائن آگے بڑھاتا تھا، اور CR (13 — کیریج ریٹرن) کیریج کو کاغذ آگے بڑھائے بغیر واپس بائیں کنارے پر لے جاتا تھا۔

CR اور LF کے درمیان فرق اُن line-ending اختلافات کی وضاحت کرتا ہے جو آج بھی سر درد کا باعث بنتے ہیں۔ ٹائپ رائٹر پر، ایک لائن ختم کرنے کے لیے دو جسمانی عمل درکار تھے: کیریج واپس لانا (CR) اور کاغذ آگے بڑھانا (LF)۔ ابتدائی سافٹ ویئر نے دونوں مراحل برقرار رکھے، جس سے Windows کو اس کی CR+LF (\r\n) line endings ملیں۔ Unix ڈیزائنرز نے نتیجہ اخذ کیا کہ ایک واحد LF کافی ہے اور صرف LF (\n) اپنایا، جبکہ پرانا Mac OS صرف CR (\r) استعمال کرتا تھا۔ جب ٹیکسٹ فائلیں آپریٹنگ سسٹموں کے درمیان منتقل ہوتی ہیں، تو یہ اختلافات اسکرپٹس کو ناکام کر سکتے ہیں، بائنری فائل کے موازنوں کو خراب کر سکتے ہیں اور line-count ٹولز کو الجھا سکتے ہیں — سب کچھ 1960 کی دہائی کے ٹیلی ٹائپ ہارڈویئر کی میکانکی حقیقتوں سے جڑا ہوا ہے۔

ESC (27) کو محض ایک escape کریکٹر کے طور پر بیان کیا گیا — ایک prefix جو اشارہ دیتا ہے کہ اس کے بعد آنے والے بائٹس کو پرنٹ ہونے والے متن کے بجائے ایک کمانڈ کے طور پر تعبیر کیا جائے۔ یہ ANSI escape sequences کی بنیاد ہے، وہ کوڈز جنہیں ٹرمینل ایمولیٹرز آج بھی متن کا رنگ سیٹ کرنے، cursor حرکت دینے، اسکرین صاف کرنے اور سینکڑوں دیگر آپریشنز کے لیے استعمال کرتے ہیں۔ ESC کو '[' کے ساتھ prefix کریں اور عددی پیرامیٹرز کے ساتھ چلائیں تاکہ \033[31m (سرخ متن) یا \033[2J (اسکرین صاف کریں) جیسی sequences بنیں۔ آخر میں، DEL (127) 7-bit رینج کے بالکل اختتام پر بیٹھتا ہے، کنٹرول بلاک میں نہیں، مگر یہ ایک کنٹرول کریکٹر کی طرح برتاؤ کرتا ہے: پیپر ٹیپ پر، آپ ساتوں سوراخ کر کے ہر bit کو 1 سیٹ کر کے غلطی مٹا سکتے تھے — 127 کا bit pattern۔ کئی Unix سسٹمز آج بھی backspace کلید کو BS (8) کے بجائے DEL (127) سے میپ کرتے ہیں۔

پرنٹ ایبل ASCII (کوڈز 32–126) اور اس کی حسابی ساخت

95 پرنٹ ایبل ASCII کریکٹرز کوڈز 32 سے 126 تک قابض ہیں۔ کوڈ 32 space کریکٹر ہے — واحد غیر مرئی پرنٹ ایبل، اور سب سے کم کوڈ جسے فونٹ ایک آلہ کمانڈ کے بجائے ایک علامت کے طور پر بناتا ہے۔ رموز اوقاف تین گچھوں میں بکھرے ہوئے ہیں: کوڈز 33–47 میں ! " # $ % & ' ( ) * + , - . / شامل ہیں، کوڈز 58–64 میں : ; < = > ? @ ہیں، اور کوڈز 91–96 اور 123–126 میں bracket جوڑے، backslash، caret، underscore، backtick، pipe، tilde اور braces ہیں۔ ہندسے 0–9 کوڈز 48–57 سے میپ ہوتے ہیں — اور offset صاف ہے: کسی بھی ہندسے کے کریکٹر کے کوڈ سے 48 (hex 0x30) گھٹائیں تو آپ کو براہِ راست عددی ویلیو مل جاتی ہے، جس نے ASCII کو ابتدائی ہارڈویئر پر BCD (binary-coded decimal) حساب کے لیے موزوں بنایا۔ بڑے حروف A–Z 65 سے 90 تک چلتے ہیں اور چھوٹے حروف a–z 97 سے 122 تک، بالکل 32 کا فرق۔

بڑے اور چھوٹے حروف کے درمیان 32 کا یہ فرق اتفاقی نہیں — یہ ایک سوچا سمجھا ڈیزائن انتخاب ہے جو سادہ bitwise case تبدیلی کو ممکن بناتا ہے۔ چونکہ 32 دو کی طاقت (2⁵) ہے، کسی بھی حرف کے bit 5 کو ٹوگل کرنے سے اس کا case پلٹ جاتا ہے۔ C میں: c | 0x20 کسی بھی بڑے ASCII حرف کو چھوٹے میں بدلتا ہے، اور c & ~0x20 اسے واپس بڑے میں بدلتا ہے۔ یہ اس لیے کام کرتا ہے کیونکہ 'A' (01000001) اور 'a' (01100001) کے درمیان صرف bit 5 مختلف ہوتا ہے۔ پروگرامرز 1960 کی دہائی سے یہ ترکیب تیز case-insensitive موازنوں اور case-folding روٹینز کے لیے استعمال کرتے آ رہے ہیں، اور یہ آج بھی ایک عام انٹرویو سوال اور parsing سے بھرپور کوڈ میں ایک عملی optimization ہے۔

پرنٹ ایبل رینجز کی حدود جاننا اُن input validation محاوروں کی بھی بنیاد ہے جو تقریباً ہر کوڈ بیس میں نظر آتے ہیں۔ یہ جانچنا کہ کوئی char ہندسہ ہے یا نہیں c >= '0' && c <= '9' (کوڈز 48–57) کے طور پر ظاہر ہوتا ہے، بڑے حرف کی جانچ c >= 'A' && c <= 'Z' (65–90) کے طور پر، اور چھوٹے حرف کی c >= 'a' && c <= 'z' (97–122) کے طور پر۔ یہ موازنے ASCII کی مسلسل، ترتیب یافتہ ساخت پر انحصار کرتے ہیں — حروف اور ہندسے بغیر کسی وقفے کے قطاروں میں آتے ہیں۔ جب ان میں سے کوئی جانچ سیکیورٹی کے لحاظ سے اہم کوڈ (پارسرز، ٹوکنائزرز، URL ویلیڈیٹرز) میں ظاہر ہوتی ہے، تو صحیح ASCII حدود کو سمجھنا اُن off-by-one کمزوریوں کو روکتا ہے جہاں کوئی حملہ آور متوقع رینج سے باہر کوئی کریکٹر چپکے سے داخل کر سکتا ہے۔

ایکسٹینڈڈ ASCII، code pages اور Unicode تک کا سفر

ایک بار جب 8-bit بائٹس معیاری ہارڈویئر بن گئے، تو کوڈز 128–255 کے ساتھ کیا کرنا ہے، اس کا کوئی واحد جواب نہیں تھا۔ ایکسٹینڈڈ ASCII کسی بھی ایسی اینکوڈنگ کے لیے ایک مبہم اصطلاح ہے جو ASCII 0–127 بلاک کو دوبارہ استعمال کرتی ہے اور اوپری نصف کو اضافی کریکٹرز سے بھرتی ہے — مگر ہر وینڈر نے وہ اوپری نصف مختلف طریقے سے بھرا، جس سے درجنوں ناموافق code pages پیدا ہوئے۔ IBM کا Code Page 437، جو اصل IBM PC اور MS-DOS کے ساتھ آیا، کوڈز 128–255 کو box-drawing کریکٹرز (─ │ ┌ ┐ └ ┘)، ریاضیاتی علامتوں (≈ ≤ ≥ ÷ ∞ √)، یونانی حروف اور چند زبر زیر والے یورپی کریکٹرز سے بھرتا تھا۔ ان box-drawing کریکٹرز نے MS-DOS ایپلی کیشنز کی پوری بصری جمالیات کو طاقت دی، Borland کے Turbo Pascal IDE سے لے کر ابتدائی spreadsheet پروگرامز تک۔

Windows-1252 (غیر رسمی طور پر 'Western European' code page کہلاتا ہے) بعد میں Windows دستاویزات کی غالب اینکوڈنگ اور ابتدائی ویب کے زیادہ تر HTML صفحات کی مضمر ڈیفالٹ اینکوڈنگ بن گئی۔ یہ ISO-8859-1 (Latin-1) — مغربی یورپی زبانوں کا بین الاقوامی معیار — سے خاص طور پر رینج 128–159 میں مختلف ہے۔ ISO-8859-1 نے ان 32 کوڈز کو کنٹرول کریکٹرز کے طور پر چھوڑ دیا؛ Windows-1252 نے اس کے بجائے انہیں مفید پرنٹ ایبل کریکٹرز کے لیے استعمال کیا جن میں Euro علامت (€, 0x80)، ٹائپوگرافک اقتباسی نشانات، ellipsis (…) اور en اور em dashes (– —) شامل ہیں۔ اس فرق نے برسوں تک mojibake پیدا کیا — گڑبڑ متن جہاں Windows-1252 میں لکھی گئی دستاویز Latin-1 کے طور پر ڈی کوڈ ہوتی، جس سے € ایک غیر متعین کنٹرول کریکٹر میں بدل جاتا۔

واحد درست طویل مدتی جواب Unicode تھا، ایک واحد اینکوڈنگ اسپیس جو زمین پر ہر تحریری نظام کے ہر کریکٹر کو ایک منفرد کوڈ پوائنٹ تفویض کرتا ہے۔ UTF-8، جو تقریباً 2008 سے ویب کی غالب اینکوڈنگ ہے، یہ حاصل کرتا ہے جبکہ مکمل پس ماندہ مطابقت برقرار رکھتا ہے: 128 سے کم کوئی بھی بائٹ ایک ASCII کریکٹر ہے، اصل 1963 معیار سے بائٹ بہ بائٹ یکساں۔ multi-byte sequences (continuation بائٹس کا اشارہ دینے کے لیے high bit استعمال کرتے ہوئے) کوڈ پوائنٹس 128 اور اس سے اوپر کو سنبھالتے ہیں۔ عملی نتیجہ یہ ہے کہ اصل ASCII ٹیبل کو سمجھنا UTF-8 کی دنیا میں بھی اتنا ہی متعلقہ رہتا ہے: پہلے 128 کوڈ پوائنٹس بالکل یکساں ہیں، کنٹرول کریکٹرز کے وہی معنی ہیں، اور پرنٹ ایبل رینج کا حساب (ہندسہ offset 48، case-flip bit 5) UTF-8 string کے کسی بھی ASCII رینج میں آنے والے بائٹ پر بغیر کسی تبدیلی کے لاگو ہوتا ہے۔

Frequently asked questions

A سے Z تک ASCII کوڈ کیا ہے؟

بڑے حروف A–Z ڈیسیمل 65 (A) سے 90 (Z) تک چلتے ہیں۔ چھوٹے حروف a–z 97 (a) سے 122 (z) تک چلتے ہیں۔ چھوٹے حروف اپنے بڑے ہم منصبوں سے بالکل 32 کوڈ اوپر بیٹھتے ہیں — a 97 ہے، b 98 ہے، اور اسی طرح آگے۔ ہیکساڈیسیمل میں یہ بڑے حروف کے لیے 0x41–0x5A اور چھوٹے کے لیے 0x61–0x7A ہے۔ یہ انٹرایکٹو ٹیبل آپ کو کسی بھی حرف کو کلک کر کے فوراً اس کا کوڈ کاپی کرنے دیتا ہے، اس لیے آپ کو چارٹ یاد کرنے یا w3schools یا asciitable.com سے کسی جامد PDF میں دیکھنے کی ضرورت نہیں — دونوں کو ایک مقررہ تصویر کی دستی جانچ درکار ہوتی ہے، جس میں کلک ٹو کاپی کی سہولت نہیں۔

ASCII ٹیبل کیا ہے؟

ASCII ٹیبل ایک چارٹ ہے جو ہر ASCII کریکٹر — حروف، ہندسے، رموز اوقاف، space اور کنٹرول کوڈز — کو 0 اور 127 کے درمیان ایک نمبر سے میپ کرتا ہے۔ یہ ڈیسیمل، ہیکساڈیسیمل، آکٹل اور بائنری میں ہر کریکٹر کے HTML entity کے ساتھ دکھایا جاتا ہے۔ یہ وہ حوالہ ہے جسے پروگرامرز، ڈیولپرز، طلبہ اور انجینئرز یہ دیکھنے کے لیے استعمال کرتے ہیں کہ ٹیکسٹ اینکوڈنگز، serial communication، نچلی سطح کے ڈیٹا ہیر پھیر، یا کسی بھی ایسے سسٹم کے ساتھ کام کرتے وقت کون سا کوڈ کس کریکٹر کی نمائندگی کرتا ہے جہاں خام کریکٹر کوڈز اہم ہوں۔ w3schools.com یا asciitable.com کے جامد چارٹس کے برعکس، یہ ٹیبل انٹرایکٹو اور قابلِ تلاش ہے۔

ASCII کے 256 کریکٹرز کیا ہیں؟

معیاری ASCII 7 bits کا استعمال کرتے ہوئے صرف 128 کریکٹرز (کوڈز 0–127) کی تعریف کرتا ہے۔ لوگ جس 256-کریکٹر سیٹ کا حوالہ دیتے ہیں وہ 'ایکسٹینڈڈ ASCII' ہے، جو کوڈز 128–255 کے اضافے کے لیے پورے آٹھویں bit کا استعمال کرتا ہے۔ وہ اوپری 128 خانے حقیقی ASCII کا حصہ نہیں ہیں اور code page کے لحاظ سے مختلف ہوتے ہیں۔ سب سے عام میپنگ Latin-1 (ISO-8859-1) ہے، جو ان خانوں کو زبر زیر والے حروف اور مغربی یورپی علامتوں جیسے é، ñ، ü، £ اور ¥ سے بھرتا ہے۔ اس ٹول میں 'Show extended' کو ٹوگل کریں تاکہ تمام 256 اندراجات اپنی Latin-1 میپنگز کے ساتھ دیکھ سکیں — ایسی چیز جسے نہ w3schools اور نہ asciitable.com انٹرایکٹو طریقے سے آسان بناتے ہیں۔

ASCII کا مکمل نام کیا ہے؟

ASCII کا مطلب American Standard Code for Information Interchange ہے۔ یہ ایک کریکٹر اینکوڈنگ معیار ہے جو پہلی بار 1963 میں شائع ہوا اور 1967 اور 1968 میں نظرِ ثانی کیا گیا۔ یہ ہر انگریزی حرف، ہندسے، رموز اوقاف کے نشان اور کنٹرول سگنل کو ایک منفرد نمبر تفویض کرتا ہے تاکہ کمپیوٹر اور آلات ایک متفقہ کوڈ سیٹ کا استعمال کرتے ہوئے سادہ متن کا تبادلہ کر سکیں۔ UTF-8، جدید ویب پر غالب اینکوڈنگ، ASCII کا ایک superset ہے: پہلے 128 Unicode کوڈ پوائنٹس ASCII سے یکساں ہیں، اسی لیے ASCII ٹیبل کو سمجھنا Unicode کی دنیا میں بھی متعلقہ رہتا ہے۔

ASCII ٹیبل کیسے استعمال کریں؟

Char کالم میں (یا ٹیبل کے اوپر تلاش کے خانے میں ٹائپ کر کے) جو کریکٹر آپ کو چاہیے وہ تلاش کریں اور قطار میں آگے پڑھیں تاکہ اس کی ڈیسیمل، ہیکس، آکٹل، بائنری اور HTML ویلیوز حاصل ہوں۔ الٹی طرف جانے کے لیے، کسی نمبر سے تلاش کریں — مثلاً 65، 0x41 یا 1000001 ٹائپ کریں — تاکہ معلوم ہو کہ یہ کس کریکٹر کی نمائندگی کرتا ہے۔ اس ٹول میں آپ کسی بھی ویلیو کو کلک کر کے فوراً اپنی clipboard میں کاپی بھی کر سکتے ہیں۔ یہ asciitable.com یا w3schools.com کے کسی جامد تصویر یا PDF چارٹ کا حوالہ دینے سے تیز تر اور زیادہ لچکدار ہے، جن دونوں میں کلک ٹو کاپی کی سہولت اور مربوط ٹیکسٹ کنورٹر نہیں۔

اسے ASCII کیوں کہا جاتا ہے؟

اسے ASCII اس لیے کہا جاتا ہے کیونکہ یہ اس کے سرکاری نام American Standard Code for Information Interchange کا مخفف ہے۔ 'American Standard' اس بات کی عکاسی کرتا ہے کہ اسے امریکی انگریزی متن کے لیے American Standards Association (اب ANSI) نے معیاری بنایا۔ 'Information Interchange' اس کے مقصد کو بیان کرتا ہے — مختلف مشینوں، ٹرمینلز اور مواصلاتی سسٹموں کو ایک متفقہ کریکٹر کوڈ سیٹ کے ذریعے ڈیٹا شیئر کرنے دینا، بلا لحاظ بنانے والے یا آپریٹنگ سسٹم کے۔ ASCII سے پہلے، مختلف کمپیوٹر ناموافق کریکٹر سیٹس استعمال کرتے تھے، جس سے مختلف ہارڈویئر وینڈرز کے درمیان ڈیٹا کا تبادلہ ناقابلِ اعتبار اور غلطیوں کا شکار تھا۔

ASCII کی ایک مثال کیا ہے؟

حرف 'A' ایک کلاسک مثال ہے: اس کا ASCII کوڈ ڈیسیمل میں 65، ہیکساڈیسیمل میں 0x41، آکٹل میں 101 اور بائنری میں 01000001 ہے۔ ہندسہ '0' کوڈ 48 ہے، space کوڈ 32 ہے، اور line feed (نئی لائن) کنٹرول کوڈ 10 ہے۔ پورا حروف تہجی، ہندسے اور عام رموز اوقاف اوپر دیے گئے ٹیبل میں فوراً دیکھے جا سکتے ہیں — کسی بھی قطار کو کلک کریں تاکہ اُس کریکٹر کی تمام نمائندگیاں ایک ساتھ کاپی ہوں۔ اس ٹول میں بلٹ اِن Text → ASCII کنورٹر آپ کو کوئی بھی فقرہ تبدیل کرنے دیتا ہے: 'Hi' ڈیسیمل میں 72 105 یا ہیکساڈیسیمل میں 48 69 بن جاتا ہے۔

کیا ASCII ٹیبل 128 ہے یا 256؟

حقیقی ASCII 128 کریکٹرز (کوڈز 0–127) ہے اور صرف 7 bits استعمال کرتا ہے (2⁷ = 128)۔ 256-کریکٹر ورژن ایکسٹینڈڈ ASCII ہے، جو کوڈز 128–255 کے اضافے کے لیے پورا 8-bit بائٹ استعمال کرتا ہے۔ تو جب کوئی 'ASCII ٹیبل' کہتا ہے، تو عام طور پر اس کا مطلب 128-کریکٹر معیاری سیٹ ہوتا ہے؛ '256' 8-bit ایکسٹینڈڈ سیٹس میں سے کسی ایک جیسے Latin-1 (ISO-8859-1) کی طرف اشارہ کرتا ہے۔ یہ ٹول دونوں دکھاتا ہے: ڈیفالٹ طور پر معیاری 128-کریکٹر ٹیبل، اور تمام 256 کریکٹرز بشمول ایکسٹینڈڈ Latin-1 اندراجات دکھانے کے لیے ایک ٹوگل — w3schools کے جامد چارٹس کے برعکس جو صرف بنیادی 128 دکھاتے ہیں۔

ASCII کیسے لکھا جاتا ہے؟

ASCII نمبروں کے طور پر لکھا جاتا ہے۔ ہر کریکٹر اپنی کوڈ ویلیو کے طور پر محفوظ ہوتا ہے، جسے ڈیسیمل (65)، ہیکساڈیسیمل (0x41)، آکٹل (101) یا بائنری (01000001) میں ظاہر کیا جا سکتا ہے۔ کمپیوٹر کے اندر ہر ASCII کریکٹر ایک بائٹ گھیرتا ہے، اس لیے لفظ 'Hi' دو بائٹس 72 اور 105 کے طور پر محفوظ ہوتا ہے۔ جب متن کسی فائل میں یا نیٹ ورک پر ظاہر ہوتا ہے، تو وہی بائٹس دراصل سفر کرتے ہیں — آپ جو کریکٹر علامتیں دیکھتے ہیں وہ سافٹ ویئر کی جانب سے ان کوڈز کی رینڈرنگ ہیں۔ پروگرامنگ زبانیں ASCII ویلیوز کو مختلف طریقے سے ظاہر کرتی ہیں: Python 65 حاصل کرنے کے لیے ord('A') اور 'A' حاصل کرنے کے لیے chr(65) استعمال کرتا ہے۔

ASCII میں 'I love you' کیا ہے؟

ڈیسیمل ASCII کوڈز میں لکھا جائے تو 'I love you' یہ ہے: 73 32 108 111 118 101 32 121 111 117 — جہاں 73 'I' ہے، 32 space ہے، 108 111 118 101 'love' ہے، ایک اور 32 space کے لیے، اور 121 111 117 'you' ہے۔ آپ اس ٹول میں بلٹ اِن Text → ASCII کنورٹر کے ساتھ فوراً یہ دوبارہ بنا سکتے ہیں: کوئی بھی فقرہ ٹائپ کریں اور فوری طور پر اس کی مکمل ڈیسیمل، ہیکس یا بائنری نمائندگی حاصل کریں۔ کسی اور مرحلے کی ضرورت نہیں — اُن calculator سائٹس کے برعکس جہاں الگ 'text to ASCII' صفحے پر جانا پڑتا ہے، کنورٹر یہیں اسی صفحے پر موجود ہے۔

کیا ASCII صرف 7 bits ہے؟

جی ہاں — معیاری ASCII ایک 7-bit کوڈ ہے، اسی لیے اس میں بالکل 128 کریکٹرز ہیں (2⁷ = 128)۔ اصل معیار میں ایک بائٹ کا آٹھواں bit جان بوجھ کر خالی چھوڑا گیا، اور ایکسٹینڈڈ ASCII اینکوڈنگز نے بعد میں اسے مزید 128 کریکٹرز کے اضافے کے لیے استعمال کیا۔ جدید سسٹمز ایکسٹینڈڈ ASCII کے بجائے Unicode (جو UTF-8 کے طور پر اینکوڈ ہوتا ہے) استعمال کرتے ہیں، مگر 7-bit ASCII کو سمجھنا legacy ڈیٹا، serial protocols، microcontroller firmware، نیٹ ورک escape sequences، اور C یا assembly میں نچلی سطح کی ٹیکسٹ پروسیسنگ کے ساتھ کام کرنے کے لیے اب بھی ضروری ہے۔

ASCII 128 سے 255 کیا ہے؟

کوڈز 128–255 'ایکسٹینڈڈ ASCII' رینج ہیں۔ یہ اصل 7-bit ASCII معیار سے متعین نہیں ہوتے، اس لیے ان کا مطلب استعمال ہونے والے code page پر منحصر ہے۔ سب سے عام تعبیر Latin-1 (ISO-8859-1) ہے، جو ان خانوں کو زبر زیر والے حروف (é، ñ، ü)، کرنسی علامتوں (£، ¥) اور دیگر مغربی یورپی کریکٹرز سے بھرتا ہے۔ Windows سسٹمز اکثر اس کے بجائے Windows-1252 استعمال کرتے ہیں، جو 128–159 رینج میں Latin-1 سے تھوڑا مختلف ہے۔ اس ASCII ٹیبل میں 'Show extended' کو ٹوگل کریں تاکہ 127 سے اوپر کے کوڈز کے لیے Latin-1 میپنگز کے ساتھ مکمل 256-کریکٹر سیٹ دیکھ سکیں۔

کیا یہ ASCII ٹیبل مفت اور نجی ہے؟

جی ہاں — مکمل طور پر مفت، بغیر کسی سائن اپ کے، بغیر کسی استعمال کی حد کے، اور کہیں کچھ اپ لوڈ کیے بغیر۔ پورا ٹیبل صفحے میں شامل ہے اور مقامی طور پر آپ کے براؤزر میں رینڈر ہوتا ہے۔ asciitable.com اور w3schools.com پر جامد ASCII لُک اپ ٹولز کے برعکس جو ایک غیر انٹرایکٹو ٹیبل کے ساتھ بھاری اشتہارات پیش کرتے ہیں، یہ ٹول مکمل طور پر انٹرایکٹو، قابلِ تلاش ہے اور ایک دو طرفہ text ↔ ASCII کنورٹر شامل کرتا ہے — سب ایک ہی صفحے میں۔ صفحہ لوڈ ہونے کے بعد یہ آف لائن بھی کام کرتا ہے — اُن ماحول میں ڈیبگنگ کے لیے مثالی جہاں انٹرنیٹ رسائی نہیں، جیسے ایمبیڈڈ سسٹمز لیبز یا محدود کارپوریٹ نیٹ ورکس۔