ویب ڈیویلپمنٹ BOM

زیک

مسافر
شکر ہے بات BOM کی ہے بم کی نہیں۔ خیر BOM یونیکوڈ میں ایک حرف ہے Byte Order Mark جو یہ بتاتا ہے کہ آپ کا ڈیٹا little endian ہے یا big endian یعنی ۱۶ اور ۳۲ بٹ (bit) والے ڈیٹا میں کونسی بائٹ پہلے آتی ہے۔ یہ اس کا مقصد ہے UTF-16 اور UTF-32 میں مگر UTF-8 میں ایسا کوئی چکر ہی نہیں ہے۔ لہذا آپ BOM کے بغیر گزارا کر سکتے ہیں۔

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

اب سوال یہ ہے کہ کن جگہوں پر بوم نقصان‌دہ ہوتا ہے۔ کچھ فائلوں میں ضروری ہوتا ہے کہ پہلے حروف کچھ خاص ASCII حروف ہوں۔ مثلاً پی‌ایچ‌پی فائل کا آغاز ہمیشہ اس طرح ہوتا ہے:

کوڈ:
<?php

اسی طرح XML فائل کا آغاز:

کوڈ:
<?xml

پرل اور شیل سکرپٹ کی پہلی لائن بھی ایک خاص طرح سے ہونی چاہیئے۔

بوم اس سلسلے میں گڑبڑ کر دیتا ہے اور آپ کی php، xml یا سکرپٹ فائل صحیح کام نہیں کرتی۔

بوم کے متعلق معلومات
 

نبیل

تکنیکی معاون
زکریا، آپ کا بہت شکریہ، آپ نے ایک بہت بڑا عقدہ حل کردیا ہمارا۔ صرف قدیر ہی نہیں، اس مسئلے سے میرے سمیت اور بھی بہت لوگ دوچار رہے ہیں۔ آپ کے بتائے ہوئے ربط کو سرسری طور پر دیکھا ہے۔ کیا ہی اچھا ہو اگر آپ ٹیکسٹ فائل میں شامل ہوئے ہوئے بوم کو نکالنے کا طریقہ بھی بتا دیں۔ ونڈوز پر تو یہ فائل کھولنے پر نظر ہی نہیں آتا۔ لینکس میں پیکو (pico) کے ذریعے فائل کھولنے پر اسکے شروع میں دو تین عجیب و غریب کیریکٹرز نظر آتے ہیں جن کو ڈیلیٹ کرنے سے معاملہ ٹھیک ہو جاتا ہے۔ کیا ونڈوز میں رہتے ہوئے یہ کرنا ممکن ہے؟ اور بوم صرف نوٹ پیڈ سے ایڈیٹنگ میں ہی کیوں شامل ہوتا ہے؟ دوسرے ایڈیٹر جیسے ڈریم ویور وغیرہ میں یہ مسئلہ تو نہیں آتا۔
 

جیسبادی

محفلین
MSVC میں بائینری فائل کی صورت میں کھولا جائے تو یقیناً سب کچھ نظر آنا چاہیے۔

اہلِ دانش اسی لیے vi کا استعمال کرتے ہیں۔
 

زیک

مسافر
میں نے اس کا حل یہ نکالا ہے کہ Babelpad میں بوم کی setting غائب کر دی ہے۔ جب بوم والی فائل پہلی دفعہ کھولتا ہوں تو اس کو Save As کرتا ہوں اور وہاں بوم کی آپشن گول کر دیتا ہوں۔ نوٹ پیڈ میں البتہ اس کا کوئی حل نہیں۔
 
Top