التحويل الفعال للأعداد الصحيحة إلى مصفوفات البايت في 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