Null character
کالعدم کردار (کالعدم ٹرمینیٹر بھی) ایک کنٹرول کردار ہے جس کی قدر صفر ہے۔ یہ بہت سے کرداروں کے سیٹوں میں موجود ہے، جن میں باڈوٹ اور آئی ٹی اے 2 کوڈز، آئی ایس او/آئی ای سی 646 (یا اے ایس سی آئی آئی)، سی 0 کنٹرول کوڈ، یونیورسل کوڈڈ کریکٹر سیٹ (یا یونیکوڈ)، اور ای بی سی ڈی آئی سی شامل ہیں۔ یہ تقریبا تمام مرکزی دھارے کی پروگرامنگ زبانوں میں دستیاب ہے۔ اسے اکثر این یو ایل (یا این یو ایل ایل کے طور پر مختصر کیا جاتا ہے، حالانکہ کچھ سیاق و سباق میں یہ اصطلاح نیل پوائنٹر کے لیے استعمال ہوتی ہے)۔ 8 بٹ کوڈز میں، اسے نیل بائٹ کے نام سے جانا جاتا ہے۔ اس کردار کا اصل معنی این او پی کی طرح تھا-جب پرنٹر یا ٹرمینل پر بھیجا جاتا ہے، تو اس کا کوئی اثر نہیں ہوتا ہے (کچھ ٹرمینلز، تاہم، اسے غلط طریقے سے جگہ کے طور پر دکھاتے ہیں)۔ جب الیکٹرو مکینیکل ٹیلی پرنٹرز کو کمپیوٹر آؤٹ پٹ ڈیوائسز کے طور پر استعمال کیا جاتا تھا، تو ہر طباعت شدہ لائن کے آخر میں ایک یا زیادہ کالر حروف بھیجے جاتے تھے تاکہ میکانزم کو اگلی لائن پر پہلی پرنٹنگ پوزیشن پر واپس آنے کا وقت مل سکے۔ پنچڈ ٹیپ پر، کردار کی نمائندگی بغیر کسی سوراخ کے کی جاتی ہے، لہذا ایک نئی غیر پنچڈ ٹیپ ابتدائی طور پر صفر حروف سے بھری جاتی ہے، اور اکثر متن کو صفر حروف کی مخصوص جگہ پر نئے حروف کو نل کے اوپر ٹیپ میں گھونپ کر داخل کیا جا سکتا ہے۔ آج اس کردار کی پروگرامنگ زبان سی اور اس کے مشتقات میں اور بہت سے ڈیٹا فارمیٹس میں بہت زیادہ اہمیت ہے، جہاں یہ ایک مخصوص کردار کے طور پر کام کرتا ہے جو سٹرنگ کے اختتام کی نشاندہی کرنے کے لیے استعمال ہوتا ہے، جسے اکثر کالعدم سٹرنگ کہا جاتا ہے۔ یہ سٹرنگ کو صرف ایک بائٹ کے اوور ہیڈ کے ساتھ کسی بھی لمبائی کی اجازت دیتا ہے۔ گنتی کو ذخیرہ کرنے کے متبادل کے لیے یا تو سٹرنگ کی لمبائی کی حد 255 یا ایک سے زیادہ بائٹ کے اوور ہیڈ کی ضرورت ہوتی ہے (کالعدم سٹرنگ آرٹیکل میں بیان کردہ دیگر فوائد/نقصانات ہیں)۔ ماخذ کوڈ میں نمائندگی، صفر کردار کو اکثر سٹرنگ لیٹرلز میں فرار کی ترتیب کے طور پر پیش کیا جاتا ہے (مثال کے طور پر، "اے بی سی \0 ڈیف") یا کردار کے مستقلات میں ('\0') ؛ مؤخر الذکر کو اس کے بجائے صرف 0 کے طور پر بھی لکھا جا سکتا ہے (حوالہ جات اور نہ ہی سلیش کے بغیر)۔ بہت سی زبانوں میں (جیسے کہ سی، جس نے یہ اشارہ متعارف کرایا ہے)، یہ ایک علیحدہ فرار کی ترتیب نہیں ہے، بلکہ ایک واحد آکٹل ہندسے 0 کے ساتھ ایک آکٹل فرار کی ترتیب ہے۔ اس کے نتیجے میں، 0 کے بعد 0 سے 7 تک کے کسی بھی ہندسے کو نہیں ہونا چاہیے ؛ بصورت دیگر اس کی تشریح ایک طویل آکٹل فرار کی ترتیب کے آغاز کے طور پر کی جاتی ہے۔ فرار کے دوسرے سلسلے جو مختلف زبانوں میں استعمال میں پائے جاتے ہیں وہ ہیں \000، \x00، \z، یا \u0000۔ ایک کالر کردار کو یو آر ایل میں فیصد کوڈ% 00 کے ساتھ رکھا جا سکتا ہے۔ صفر کردار کی نمائندگی کرنے کی صلاحیت کا ہمیشہ یہ مطلب نہیں ہوتا ہے کہ نتیجے میں آنے والی سٹرنگ کی صحیح تشریح کی جائے گی، کیونکہ بہت سے پروگرام صفر کو سٹرنگ کا اختتام سمجھیں گے۔ اس طرح اسے ٹائپ کرنے کی صلاحیت (غیر چیک شدہ صارف کے ان پٹ کی صورت میں) ایک کمزوری پیدا کرتی ہے جسے نل بائٹ انجیکشن کہا جاتا ہے اور یہ حفاظتی استحصال کا باعث بن سکتا ہے۔ کیریٹ نوٹیشن میں صفر حرف ہے۔ کچھ کی بورڈوں پر، کوئی بھی ہولڈ ڈاؤن اور دبا کر کالر کریکٹر درج کر سکتا ہے (یو ایس لے آؤٹ پر اکثر کام کرے گا، @سائن حاصل کرنے کی ضرورت نہیں ہے)۔ صفر کے لیے ہیکساڈیسیمل نوٹیشن 00 ہے۔ بیس 64 سٹرنگ اے اے = = کو ڈیکوڈ کرنے سے بھی صفر کردار حاصل ہوتا ہے۔ دستاویزات میں، کالعدم کردار کو بعض اوقات سنگل ایم چوڑائی کی علامت کے طور پر پیش کیا جاتا ہے جس میں حروف "این یو ایل" ہوتے ہیں۔ یونیکوڈ میں اس کے لیے ایک حرف ہے: انکوڈنگ تمام جدید کریکٹر سیٹوں میں، نیل کریکٹر کی کوڈ پوائنٹ ویلیو صفر ہوتی ہے۔ زیادہ تر انکوڈنگ میں، اس کا ترجمہ ایک واحد کوڈ یونٹ میں صفر قدر کے ساتھ کیا جاتا ہے۔ مثال کے طور پر، یو ٹی ایف-8 میں یہ ایک واحد صفر بائٹ ہے۔ تاہم، ترمیم شدہ یو ٹی ایف-8 میں صفر کردار کو دو بائٹس کے طور پر انکوڈ کیا گیا ہے: 0xC0، 0x80۔ یہ صفر کی قیمت والے بائٹ کو، جو اب کسی بھی کردار کے لیے استعمال نہیں ہوتا، سٹرنگ ٹرمینیٹر کے طور پر استعمال کرنے کی اجازت دیتا ہے۔ حوالہ جات نول بائٹ انجیکشن ڈبلیو اے ایس سی تھریٹ کلاسیفیکیشن نول بائٹ اٹیک سیکشن پوائزن نول بائٹ انٹروڈکشن ٹو نول بائٹ اٹیک ایپل نول بائٹ انجیکشن کیو آر کوڈ کمزوری کنٹرول حروف کمپیوٹر سیکیورٹی کے کارنامے