ڈکشنری

بائٹ آرڈر سے کیا مراد ہے؟

بائٹ آرڈر ان پوشیدہ تفصیلات میں سے ایک ہے جو آپ فائل کا میٹا ڈیٹا چیک کرتے وقت پاتے ہیں۔ جانیں کہ اس کا کیا مطلب ہے اور یہ آپ کو آپ کی فائل لکھے جانے کے طریقے کے بارے میں کیا بتاتا ہے۔

byte-order

بائٹ آرڈر، جسے endianness بھی کہا جاتا ہے، یہ بتاتا ہے کہ کسی بڑے عدد کی بائٹس کس ترتیب سے محفوظ کی جاتی ہیں۔ کمپیوٹر ان بائٹس کو دونوں میں سے کسی بھی سرے سے لکھ سکتے ہیں، اور فائل کو یہ بتانا پڑتا ہے کہ اس نے کون سا سرا استعمال کیا تاکہ بعد میں اسے پڑھنے والا بھی وہی عدد واپس حاصل کرے۔

دو بائٹ آرڈرز

الگ تھلگ بائٹ کی تشریح میں کوئی ابہام نہیں ہوتا۔ جو اعداد ایک بائٹ میں نہیں سمو سکتے، انہیں کئی بائٹس میں تقسیم کرنا پڑتا ہے، اور یہی وہ جگہ ہے جہاں یہ دو طریقے ایک دوسرے سے مختلف ہو جاتے ہیں:

  • Big-endian: اسٹوریج یا بھیجنا اس بائٹ سے شروع ہوتا ہے جس میں سب سے زیادہ معنی خیز (most significant) بٹس ہوں، اور اس کے بعد بٹس کی اہمیت کم ہوتی جاتی ہے
  • Little-endian: اسٹوریج یا بھیجنا اس بائٹ سے شروع ہوتا ہے جس میں سب سے کم معنی خیز (least significant) بٹس ہوں، اور اس کے بعد بٹس کی اہمیت بڑھتی جاتی ہے

فرض کریں عدد 4660 ہے، جس کے لیے دو بائٹس درکار ہیں۔ ایک big-endian فائل انہیں 12 34 کی طرح لکھتی ہے اور little-endian فائل انہیں 34 12 کی طرح۔ عدد وہی، ترتیب الٹی۔ مخلوط شکلیں بھی موجود ہیں، جنہیں mixed-endian یا middle-endian کہا جاتا ہے، لیکن وہ کم یاب ہیں۔ دونوں بڑی ترتیبیں روزمرہ میں استعمال ہوتی ہیں، اور آپ کو کون سی نظر آئے گی، یہ اس ڈیوائس یا پروگرام پر منحصر ہے جس نے فائل بنائی ہے۔

کون سی فائلیں اسے رکھتی ہیں

یہ فیلڈ سب سے زیادہ TIFF اور TIFF ساخت پر مبنی ہر چیز میں جانی پہچانی ہے، جن میں JPEG تصاویر کے اندر Exif میٹا ڈیٹا بلاک اور کیمرا RAW فارمیٹس جیسے NEF، CR2، ARW اور DNG شامل ہیں۔ یہ فائلیں دو حروف کے مارکر سے شروع ہوتی ہیں: II Intel کے لیے یا MM Motorola کے لیے، وہ کمپنیاں جن کے پروسیسرز نے ہر ترتیب کو عام کیا۔ ایک رپورٹ عام طور پر اسے Little-endian (Intel, II) یا Big-endian (Motorola, MM) کی صورت میں واضح لکھتی ہے۔ جس کیمرا، اسکینر یا پروگرام نے میٹا ڈیٹا لکھا، اسی نے یہ ترتیب منتخب کی۔

آڈیو کنٹینرز نے یہی انتخاب پورے فارمیٹ کی سطح پر کیا: WAV اپنی ویلیوز کو little-endian میں اور AIFF انہیں big-endian میں محفوظ کرتا ہے، جو ان میں سے ایک وجہ ہے کہ ایک ہی آواز کے نمونے رکھنے والے یہ دو فارمیٹ بائٹ بہ بائٹ ایک دوسرے کے متبادل نہیں ہوتے۔

آپ کی فائل کے لیے یہ کیوں اہم ہے

بائٹ آرڈر ہی وہ وجہ ہے کہ ایک مشین پر لکھا گیا میٹا ڈیٹا دوسری پر بے معنی لگ سکتا ہے۔ ایسا ریڈر جو مارکر کو نظر انداز کر دے، یا غلط ترتیب فرض کر لے، خاموشی سے فیل نہیں ہوتا: وہ ناممکن تاریخیں، بے ربط ایکسپوژر ویلیوز اور ایسی لمبائیاں نکالتا ہے جو فائل کے آخر سے آگے کی طرف اشارہ کرتی ہیں، یا سیدھا میٹا ڈیٹا کو ناقابلِ مطالعہ قرار دے دیتا ہے۔ ترتیب جاننے سے پتہ چلتا ہے کہ فائل کو صحیح طرح کیسے کھولا اور پراسیس کیا جا سکتا ہے۔

اگر آپ میٹا ڈیٹا میں ترمیم کریں تو یہ بات دوہری اہمیت اختیار کر لیتی ہے، کیونکہ نئی ویلیوز کو اسی ترتیب میں واپس لکھنا پڑتا ہے جو فائل نے بتائی ہو۔ اور اگر وہ مارکر خود خراب ہو جائے تو عموماً پورا میٹا ڈیٹا بلاک ناقابلِ قرأت ہو جاتا ہے، حالانکہ فائل کے اندر موجود تصویر یا آڈیو بالکل صحیح حالت میں رہتی ہے۔ یہ فیلڈ صرف یہ بیان کرتی ہے کہ فائل کی ساخت کیسی ہے، اس میں آپ یا آپ کے ڈیوائس کے بارے میں کوئی ذاتی معلومات نہیں ہوتی۔

میٹا کیز