Il était une fois aucune classe d'encodeur standard Base64 en java. Cependant, il a été ajouté à partir du JDK 1.8. → Nouveautés du JDK 8
Avec JDK 1.8, n'hésitez pas à utiliser java.util.Base64.
Main.java
public static void main(String[] args) {
byte[] buf = { 1, 2, 3 };
java.util.Base64.Encoder e = java.util.Base64.getEncoder();
System.out.println(e.encodeToString(buf));
}
Non standard pour JDK 1.7 et versions antérieures. Les éléments suivants sont en quelque sorte utilisables (utilisés). Parmi ceux-ci, Commons Codec est sûr.
Il est dans le JDK depuis un certain temps, même si ce n'est pas dans le JDK. Mais ce n'est pas bon à utiliser.
Main.java
public static void main(String[] args) {
byte[] buf = { 1, 2, 3 };
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
System.out.println(e.encode(buf));
}
Compiler avec JDK 1.4 et 1.5 ne donne aucun avertissement. Avec JDK 1.6
Main.java:6:avertissement:sun.misc.BASE64Encoder est une API appartenant à Sun et peut être supprimée dans une version ultérieure.
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
Main.java:6:avertissement:sun.misc.BASE64Encoder est une API appartenant à Sun et peut être supprimée dans une version ultérieure.
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
2 avertissements
Avec JDK 1.7 et 1.8
Main.java:6:avertissement:BASE64Encoder est une API interne et peut être supprimée dans une version ultérieure
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
Main.java:6:avertissement:BASE64Encoder est une API interne et peut être supprimée dans une version ultérieure
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
2 avertissements
Je pensais qu'il disparaîtrait dans JDK 1.8, mais il était toujours là. Pour le moment, il peut être compilé et exécuté.
Recommended Posts