Es war einmal keine Standard-Base64-Encoderklasse in Java. Es wurde jedoch ab JDK 1.8 hinzugefügt. → Neue Funktionen von JDK 8
Zögern Sie nicht, mit JDK 1.8 java.util.Base64 zu verwenden.
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));
}
Für JDK 1.7 und früher ist dies kein Standard. Die folgenden sind irgendwie verwendbar (verwendet). Von diesen ist Commons Codec sicher.
Es ist seit einiger Zeit im JDK, obwohl es nicht im JDK ist. Aber es ist nicht gut zu benutzen.
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));
}
Das Kompilieren mit JDK 1.4 und 1.5 gibt keine Warnung aus. Mit JDK 1.6
Main.java:6:Warnung:sun.misc.BASE64Encoder ist eine Sun-eigene API, die in zukünftigen Versionen möglicherweise entfernt wird.
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
Main.java:6:Warnung:sun.misc.BASE64Encoder ist eine Sun-eigene API, die in zukünftigen Versionen möglicherweise entfernt wird.
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
2 Warnungen
Mit JDK 1.7 und 1.8
Main.java:6:Warnung:BASE64Encoder ist eine interne API und wird möglicherweise in einer zukünftigen Version entfernt
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
Main.java:6:Warnung:BASE64Encoder ist eine interne API und wird möglicherweise in einer zukünftigen Version entfernt
sun.misc.BASE64Encoder e = new sun.misc.BASE64Encoder();
^
2 Warnungen
Ich dachte, es würde in JDK 1.8 verschwinden, aber es war immer noch da. Im Moment kann es kompiliert und ausgeführt werden.
Recommended Posts