معالجة لغز "[B\@": فهم تدوين مصفوفة بايت Java
تمت مواجهة التمثيل الغريب "[B\@" عندما غالبًا ما كانت طباعة صفائف البايت في Java حيرة للمطورين. ماذا تعني وكيف يمكننا فك معناها؟
فك الرمزية
التدوين "[B@" ليس تمثيلًا سداسيًا عشريًا لمحتويات مصفوفة البايت بل هو واصف كائن. يمثل كل مكون جانبًا محددًا:
طباعة محتويات المصفوفة بشكل فعال
لعرض المحتويات الفعلية لمصفوفة بايت، بدلاً من معرف الكائن، يمكنك استخدام طرق مختلفة:التكرار والتحويل الصريح:
byte[] in = {1, 2, 3, -1, -2, -3};
for (byte b : in) {
System.out.print(String.valueOf(b) " ");
}
تحويل السلسلة السداسية العشرية:
System.out.println(Base64.getEncoder().encodeToString(in));System.out.println(Base64.getEncoder().encodeToString(in));
String byteArrayToString(byte[] in) { char out[] = new char[in.length * 2]; لـ (int i = 0; i >> 4) & 15); out[i * 2 1] = "0123456789ABCDEF".charAt(in[i] & 15); } إرجاع سلسلة جديدة (خارج)؛
System.out.println(Base64.getEncoder().encodeToString(in));
فهم تسميات JNI B
- بايت
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3