"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ما هو لغز \"[B\\@\": فهم تدوين Java Byte Array؟

ما هو لغز \"[B\\@\": فهم تدوين Java Byte Array؟

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

 What is the \

معالجة لغز "[B\@": فهم تدوين مصفوفة بايت Java

تمت مواجهة التمثيل الغريب "[B\@" عندما غالبًا ما كانت طباعة صفائف البايت في Java حيرة للمطورين. ماذا تعني وكيف يمكننا فك معناها؟

فك الرمزية

التدوين "[B@" ليس تمثيلًا سداسيًا عشريًا لمحتويات مصفوفة البايت بل هو واصف كائن. يمثل كل مكون جانبًا محددًا:

  • [ : يشير إلى نوع مصفوفة.
  • 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\@" جزءًا من نظام أكبر لوصف الأنواع في JNI (Java Native) الواجهة). فيما يلي قائمة كاملة:

B

- بايت

  • C - شار
  • D
  • ] - مزدوج
  • F
  • - float I
  • - int
  • J
  • - طويل
  • L
  • فئة مؤهلة بالكامل;** - اسم الفئة
  • S - قصير Z
  • - منطقية
  • - أبعاد المصفوفة
  • *(
  • أنواع الوسائط
  • )
  • نوع الإرجاع - توقيع الطريقة يمكّنك فهم هذا الترميز من التنقل في عالم تمثيل بيانات Java المعقد بثقة. ]
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3