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