Byte Order, যা endianness নামেও পরিচিত, বোঝায় বড় মানের বাইটগুলো কোন ক্রমে সংরক্ষণ করা হয়। কম্পিউটার এই বাইটগুলো দুই দিকের যেকোনো দিক থেকে লিখতে পারে, আর ফাইলকে জানাতে হয় সে কোন দিক ব্যবহার করেছে, যাতে পরে যে কেউ তা পড়লে একই মানটাই ফিরে পায়।
দুটি বাইট বিন্যাস
একটি আলাদা বাইট নিজে নিজে অস্পষ্ট নয়। এক বাইটে ধরে না এমন বড় সংখ্যা কয়েকটি বাইটে ভাগ করতে হয়, আর ঠিক সেখানেই এই দুই ধরনের নিয়ম একে অন্যের থেকে আলাদা হয়ে যায়:
- Big-endian: সংরক্ষণ বা পাঠানো শুরু হয় সেই বাইট দিয়ে যাতে সবচেয়ে গুরুত্বপূর্ণ বিট থাকে, এবং সেখান থেকে গুরুত্ব ক্রমান্বয়ে কমতে থাকে
- Little-endian: সংরক্ষণ বা পাঠানো শুরু হয় সেই বাইট দিয়ে যাতে সবচেয়ে কম গুরুত্বপূর্ণ বিট থাকে, এবং সেখান থেকে গুরুত্ব ক্রমান্বয়ে বাড়তে থাকে
ধরুন সংখ্যা 4660, যেটির জন্য দুই বাইট লাগে। একটি big-endian ফাইল এটিকে লেখে 12 34 আর একটি little-endian ফাইল লেখে 34 12। একই সংখ্যা, বিপরীত ক্রম। মিশ্র ধরনও আছে, যাকে mixed-endian বা middle-endian বলা হয়, কিন্তু সেগুলো বিরল। মূল এই দুই ক্রমই প্রতিদিনের ব্যবহারে থাকে, আর কোনটি আপনি দেখবেন তা নির্ভর করে ফাইলটি যে ডিভাইস বা প্রোগ্রাম তৈরি করেছে তার উপর।
কোন ফাইলগুলো এটিকে বহন করে
এই ফিল্ডটি সবচেয়ে বেশি পরিচিত TIFF থেকে এবং TIFF গঠন ব্যবহার করে এমন সবকিছু থেকে, যেখানে JPEG ছবির ভেতরের Exif মেটাডেটা ব্লক এবং NEF, CR2, ARW ও DNG এর মতো ক্যামেরা RAW ফরম্যাটও রয়েছে। এই ফাইলগুলো দুই অক্ষরের একটি মার্কার দিয়ে শুরু হয়, Intel এর জন্য II বা Motorola এর জন্য MM, যাদের প্রসেসর এই দুই ক্রমকে সাধারণ করেছে। একটি প্রতিবেদন সাধারণত এটিকে লেখে Little-endian (Intel, II) বা Big-endian (Motorola, MM) হিসেবে। কোন ক্যামেরা, স্ক্যানার বা প্রোগ্রাম মেটাডেটা লিখেছে, সেটাই এই ক্রম বেছে নিয়েছে।
অডিও কনটেইনারগুলো পুরো ফরম্যাটের স্তরে একই ধরনের সিদ্ধান্ত নিয়েছে: WAV তার মানগুলো little-endian হিসেবে সংরক্ষণ করে আর AIFF big-endian হিসেবে সংরক্ষণ করে, যা সেই কারণগুলোর একটি, যার জন্য একই সাউন্ড স্যাম্পল ধারণ করলেও এই দুই ফরম্যাটকে এক বাইটের বদলে এক বাইট এইভাবে অদলবদল করা যায় না।
আপনার ফাইলের জন্য এটি কেন গুরুত্বপূর্ণ
Byte order এর কারণেই একটি মেশিনে লেখা মেটাডেটা আরেকটিতে অর্থহীন দেখাতে পারে। যে রিডার মার্কার উপেক্ষা করে, বা ভুল ক্রম ধরে নেয়, তা ভদ্রভাবে ব্যর্থ হয় না: এটি অসম্ভব তারিখ, অবাস্তব এক্সপোজার মান আর এমন দৈর্ঘ্য দেখায় যা ফাইলের শেষেরও বাইরে গিয়ে পড়ে, অথবা সimply ঘোষণা করে যে মেটাডেটা পড়া যাচ্ছে না। ক্রমটি জানা থাকলে বোঝা যায় ফাইলটি কীভাবে ঠিকভাবে খোলা এবং প্রক্রিয়াকরণ করা যাবে।
আপনি মেটাডেটা সম্পাদনা করলে এর গুরুত্ব দ্বিগুণ, কারণ নতুন মানগুলোকে ফাইল যে ক্রম ঘোষণা করেছে সেই ক্রমেই আবার লিখতে হয়। আর যদি সেই মার্কার নিজেই ক্ষতিগ্রস্ত হয়, তবে সাধারণত পুরো মেটাডেটা ব্লকটাই অপাঠ্য হয়ে যায়, যদিও ফাইলের ভেতরের ছবি বা অডিও একদম ঠিক থাকে। এই ফিল্ডটি শুধু ফাইল কীভাবে সাজানো আছে তা-ই বর্ণনা করে, তাই এতে আপনার বা আপনার ডিভাইসের কোনো ব্যক্তিগত তথ্য থাকে না।