أدوات تحويل أحجام البيانات: فهم Bit وByte وKB وKiB ولماذا تختلف أرقام التخزين
ينشأ ارتباك أحجام البيانات لأن نظامين صحيحين للبادئات يُستخدمان معاً. البايت يساوي 8 بت، لكن kilobyte (kB) يعني 1000 بايت بالنظام العشري، بينما kibibyte (KiB) يعني 1024 بايت وفق بادئات IEC الثنائية. أدوات مثل Bits إلى Bytes وBits إلى KiB سهلة حسابياً؛ الصعوبة الحقيقية هي معرفة الاتفاقية التي يستخدمها القرص أو نظام التشغيل أو الشبكة.
Bit وByte كميتان مختلفتان
البت رقم ثنائي، والبايت مجموعة من ثمانية بتات في الحوسبة الحديثة. يرمز b الصغير عادة إلى bit وB الكبير إلى byte. لذلك 100 Mb/s و100 MB/s مختلفان بعامل ثمانية قبل التفكير في أي بادئة.
تقسم أداة Bits إلى Bytes على 8. تستخدم الشبكات غالباً bit/s، بينما تستخدم الملفات والذاكرة والتخزين bytes. لحساب سرعة تنزيل نظرية يجب توحيد هذه الوحدات أولاً.
البادئات العشرية قوى 1000
في SI تعني kilo 10³ وmega 10⁶ وgiga 10⁹. لذلك 1 kB = 1000 B، و1 MB = 1,000,000 B، و1 GB = 1,000,000,000 B. يستخدم مصنعو وحدات التخزين هذه القيم كثيراً.
عند استخدام Bits إلى Kilobytes تأكد أن الأداة تقصد kB العشرية لا 1024. الواجهة الدقيقة يجب أن تميز بين kB وKiB.
بادئات IEC الثنائية قوى 1024
أنشأت IEC بادئات kibi وmebi وgibi وtebi لتمييز الحساب الثنائي. 1 KiB = 1024 B، و1 MiB = 1,048,576 B. لذلك يجب أن تستخدم Bits إلى KiB هذه العلاقات بالضبط.
يكبر الفرق مع السعة. في الكيلو يكون صغيراً، لكنه يصبح واضحاً في الجيجا والتيرا، ولهذا قد تبدو سعة القرص أقل في برنامج يعرض 1024-based units.
لماذا يبدو القرص أصغر من الملصق؟
قرص 1 TB عشري يحتوي اسمياً على 1,000,000,000,000 بايت. التعبير عن البايتات نفسها بالـTiB يعطي نحو 0.91 TiB. لم تختف البيانات؛ الوحدة تغيرت.
بعد ذلك يمكن أن تقل المساحة المتاحة بسبب Filesystem وPartitions ومساحات Recovery، وهذه قضية أخرى منفصلة عن التحويل بين TB وTiB.
Mbps ليست MB/s
اتصال 100 Mbps يعني عادة 100 مليون bit/s. بالقسمة على 8 نحصل نظرياً على 12.5 MB/s قبل Protocol Overhead والازدحام وWi‑Fi وحدود الخادم.
لحساب زمن نقل، حوّل الملف إلى bits أو السرعة إلى bytes/s باستخدام نظام بادئات متسق، ثم اقسم الحجم على المعدل.
برامج مختلفة قد تعرض أرقاماً مختلفة
ارتبطت الذاكرة تاريخياً بقوى 2، واستخدمت برامج كثيرة 1024 مع تسميات MB/GB غير الدقيقة، بينما تستخدم برامج أخرى decimal. لذلك قد يعرض تطبيقان رقمين مختلفين للبايتات نفسها.
في التوثيق استخدم KiB/MiB/GiB للكميات الثنائية وkB/MB/GB للعشرية. وفي الأنظمة المحاسبية احتفظ بعدد البايتات كمصدر دقيق.
الوحدات الكبيرة تضخم الفارق
عند PB وEB يصبح الفرق بين decimal وbinary ضخماً في القيمة المطلقة. Petabyte هو 10¹⁵ بايت، بينما Pebibyte هو 2⁵⁰ بايت.
لهذا يجب أن تعرض أداة Bits إلى Petabytes الاسم والرمز بوضوح. وللفوترة والتخطيط احتفظ Integer bytes بدلاً من رقم مقرب مثل 1.2 PB.
التحويل لا يشمل الضغط أو Base64
محول الوحدة يغير طريقة التعبير عن الكمية ولا يحسب Compression أو Encoding Overhead إلا إذا كان ذلك جزءاً صريحاً من الأداة. ملف 10 MB يصبح 4 MB بعد الضغط لأن عدد البايتات تغير، وليس لأن الوحدة تغيرت.
وبالمثل Base64 يزيد Payload عادةً؛ هذا تغيير في حجم البيانات. لذلك يجب أن توضح API Limits هل تُقاس قبل أم بعد Encoding وما معنى MB فيها.
الدقة والتقريب
العلاقات بين الوحدات دقيقة، لكن النتيجة قد تكون كسرية عند الانتقال بين decimal وbinary. لا تقرب في كل خطوة لأن الخطأ يتراكم عند ملايين العناصر.
في البرمجة خزّن أعداد البايتات كIntegers وحوّل إلى 1.23 GB أو 1.15 GiB عند العرض فقط. بهذا تفصل الدقة المحاسبية عن سهولة القراءة.
سير عمل عملي
حدد أولاً هل المصدر bits أم bytes. ثم حدد هل البادئة SI decimal أم IEC binary. حوّل القيم إلى أساس مشترك قبل المقارنة، ثم إلى الوحدة المطلوبة وقرّب العرض فقط.
استخدم Bits إلى Bytes للعلاقة الأساسية، وBits إلى KiB للثنائي، وBits إلى GB للتقرير العشري. معظم ألغاز التخزين هي ألغاز تسمية لا فقد بيانات.
أسئلة شائعة عن وحدات البيانات
كم Bit في Byte؟
ثمانية.
هل 1 kB يساوي 1 KiB؟
لا. الأول 1000 بايت والثاني 1024 بايت.
لماذا 1 TB يساوي نحو 0.91 TiB؟
لأن البايتات نفسها عُبرت عنها بوحدة ثنائية مختلفة.
هل 100 Mbps تساوي 100 MB/s؟
لا. نظرياً تساوي 12.5 MB/s قبل Overhead.
معايير وحدات البيانات والمراجع
- NIST — Prefixes for binary multiples
- IEC — International Electrotechnical Commission
- BIPM — SI Brochure
This article is an original practical guide informed by the standards and official references above.