للتحويل من سلسلة نصية تحتوي على بايتات إلى سلسلة نصية عادية في جافا، يجب عليك استخدام الدوال المناسبة للتحويل. في الكود الذي قدمته، تستخدم sun.misc.BASE64Decoder()
التي قد تسبب استثناء java.lang.NoClassDefFoundError
لأنها غير موجودة في الإصدارات الحديثة من جافا.
بدلاً من ذلك، يمكنك استخدام فئة java.util.Base64
المتوفرة في جافا 8 وما بعدها. إليك كيفية تحويل السلسلة إلى بايتات ومن ثم تحويلها إلى سلسلة نصية:
-
تحقق من تنسيق العمر باستخدام تعبير منتظم22/03/2024
-
تحسين نقل الصوت عبر TCP Socket باستخدام Java01/02/2024
-
استدعاء وظائف Lambda بشكل غير متزامن27/03/2024
javaimport java.util.Base64;
public class Main {
public static void main(String[] args) {
String a = "[B@45466625;
byte[] btDataFile = Base64.getDecoder().decode(a);
String b = new String(btDataFile);
System.out.println(b);
}
}
يرجى ملاحظة أن استخدام الرمز [B@45466625 كمدخل لترميز Base64 غير مناسب، وقد يؤدي إلى استثناء
IllegalArgumentException
، لذا تأكد من أن السلسلة الأصلية المحتوية على البيانات الصحيحة.
المزيد من المعلومات
يمكن استخدام فئة java.util.Base64
في جافا لتشفير وفك تشفير البيانات باستخدام ترميز Base64. تعتبر عملية التشفير مهمة في العديد من التطبيقات مثل تخزين الصور أو البيانات الثنائية في قواعد البيانات أو عبر الشبكة.
تعتبر فئة java.util.Base64
مفيدة لأنها تقدم طرقًا سهلة لتشفير وفك تشفير البيانات بسهولة، وتتضمن الطرق الثلاثة الرئيسية التالية:
getEncoder()
: لتشفير البيانات إلى ترميز Base64.
getDecoder()
: لفك تشفير ترميز Base64 إلى البيانات الأصلية.
getUrlEncoder()
: تشفير البيانات للاستخدام في عناوين URL.
getUrlDecoder()
: فك تشفير البيانات التي تم تشفيرها باستخدام getUrlEncoder()
.
باستخدام هذه الفئة، يمكنك بسهولة تشفير وفك تشفير البيانات الثنائية بترميز Base64 بدون الحاجة إلى تنفيذ الخوارزميات بنفسك.