"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحويل الأعداد الصحيحة إلى مصفوفات البايت بكفاءة في جافا؟

كيفية تحويل الأعداد الصحيحة إلى مصفوفات البايت بكفاءة في جافا؟

تم النشر بتاريخ 2024-11-15
تصفح:719

How to Efficiently Convert Integers to Byte Arrays in Java?

التحويل الفعال للأعداد الصحيحة إلى مصفوفات البايت في Java

يمكن أن يكون تحويل عدد صحيح إلى مصفوفة بايت مفيدًا لأغراض مختلفة، مثل الشبكة عمليات النقل أو تخزين البيانات. هناك طرق متعددة لتحقيق هذا التحويل.

فئة ByteBuffer:

إحدى الطرق الفعالة هي استخدام فئة ByteBuffer. ByteBuffer هو مخزن مؤقت يقوم بتخزين البيانات الثنائية ويوفر عمليات مختلفة لمعالجتها. لتحويل عدد صحيح إلى مصفوفة بايت باستخدام ByteBuffer:

ByteBuffer b = ByteBuffer.allocate(4); // Allocate a 4-byte buffer
b.putInt(0xAABBCCDD); // Write the integer value to the buffer

byte[] result = b.array(); // Retrieve the byte array from the buffer

هنا، يضمن ترتيب البايت للمخزن المؤقت أن البايتات مرتبة بالترتيب الصحيح.

التحويل اليدوي:

بدلاً من ذلك، يمكنك تحويل العدد الصحيح يدويًا إلى مصفوفة بايت:

byte[] toBytes(int i) {
  // Create a new byte array of length 4
  byte[] result = new byte[4];
  
  // Shift bits and assign to each byte
  result[0] = (byte) (i >> 24);
  result[1] = (byte) (i >> 16);
  result[2] = (byte) (i >> 8);
  result[3] = (byte) i;
  
  return result;
}

يتطلب هذا الأسلوب تحويلًا واضحًا للبت وتعيين لكل بايت.

طرق المساعدة في java.nio.Bits:

فئة ByteBuffer يستخدم أساليب المساعدة الداخلية المحددة في فئة java.nio.Bits:

private static byte int3(int x) { return (byte)(x >> 24); } بايت ثابت خاص int2(int x) {return (بايت)(x >> 16); } بايت ثابت خاص int1(int x) {return (بايت)(x >> 8); } بايت ثابت خاص int0(int x) {return (بايت)(x >> 0);
private static byte int3(int x) { return (byte)(x >> 24); }
private static byte int2(int x) { return (byte)(x >> 16); }
private static byte int1(int x) { return (byte)(x >>  8); }
private static byte int0(int x) { return (byte)(x >>  0); }
تعمل هذه الطرق على تبسيط عمليات تحويل البت المذكورة أعلاه.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3