تبديل ترتيب البايتات
الإدخال (سداسي عشري)
المخرجات بعد التبديل
التفاصيل التقنية
كيف تعمل أداة تبديل ترتيب البايتات (Endianness)
ما الذي تفعله الأداة
تعكس أداة تبديل ترتيب البايتات ترتيب البايتات لإدخال سداسي عشري ضمن حجم كلمة قابل للضبط (2 أو 4 أو 8 بايت). وهي مخصّصة للتحويل بين تمثيلات little-endian وbig-endian للأعداد الصحيحة ذات العرض الثابت المخزنة كسداسي عشري، وهو احتياج شائع عند التعامل مع صيغ الملفات الثنائية، وبروتوكولات الشبكات، أو أدوات التصحيح منخفضة المستوى التي تختلف في ترتيب البايتات.
حالات استخدام شائعة للمطورين
يقوم مهندسو الهندسة العكسية بتوحيد تفريغات hex من x86 أو ARM (little-endian) وPowerPC أو MIPS (تاريخياً big-endian) ليتمكنوا من مقارنة القيم عبر المعماريات. ويحوّل مهندسو الشبكات الأعداد الصحيحة بترتيب بايتات المضيف إلى ترتيب بايتات الشبكة (دائماً big-endian) قبل تضمينها في لقطات الحزم. ويصحّح مطوّرو الأنظمة المضمنة البنى المخزنة في الذاكرة الوميضية عبر إعادة محاذاة البايتات إلى الصيغة التي تتوقعها أدوات التحليل لديهم.
تنسيقات البيانات أو أنواعها أو متغيراتها
يقبل الإدخال السداسي عشري مع بادئة `0x` أو بدونها ومع أي مسافات بيضاء. يُعرض الإخراج كبايتات سداسية عشرية صغيرة الأحرف مفصولة بمسافات لزيادة الوضوح. أحجام الكلمات 2 و4 و8 بايت تقابل أعداداً صحيحة بعرض 16 و32 و64 بت على التوالي. تُبدَّل الكلمات المتعددة بشكل مستقل: مع حجم كلمة 4 بايت، تصبح 12345678 9ABCDEF0 هي 78 56 34 12 ثم F0 DE BC 9A.
المزالق الشائعة والحالات الطرفية
يجب أن يكون الإدخال عدداً صحيحاً من البايتات (عدد زوجي من خانات hex) وعدداً صحيحاً من الكلمات (قابلاً للقسمة على حجم الكلمة المضبوط بالبايت). تؤدي الأحجام غير المتطابقة إلى خطأ بدلاً من الاقتطاع بصمت. ترتيب بايتات الشبكة دائماً big-endian، بينما تستخدم x86 / ARM ترتيب little-endian — بدّل البايتات عند قراءة أو كتابة أعداد صحيحة بصيغة wire-format.
متى تستخدم هذه الأداة بدلًا من الكود
استخدم أداة المتصفح للتحويلات السريعة لمرة واحدة أثناء قراءة التفريغات الثنائية أو التصحيح. في الشيفرة، فضّل `DataView` مع أعلام `littleEndian` الصريحة في JavaScript، و`byteorder='little'|'big'` في `int.from_bytes` في Python، و`binary.LittleEndian.Uint32` في Go، أو `ntohl` / `htonl` في C — فهي أوضح من حيث المقصود وتتجنب التحويل ذهاباً وإياباً عبر hex.