Created
August 31, 2014 17:51
-
-
Save komiya-atsushi/d878e6e4bf9ba6dae8fa to your computer and use it in GitHub Desktop.
Java 8 より導入された java.util.Base64 の利用デモ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.PrintStream; | |
import java.util.Base64; | |
/** | |
* Java 8 より導入された java.util.Base64 の利用デモ。 | |
*/ | |
public class Base64Demo { | |
private static final PrintStream o = System.out; | |
public static void main(String[] args) { | |
エンコードとデコードのデモ(); | |
_UrlEncoderのデモ(); | |
_MimeEncoderのデモ(); | |
} | |
static void エンコードとデコードのデモ() { | |
final String text = "いろはにほへと"; | |
// エンコードは、Base64.getEncoder() で得られるオブジェクトを利用する | |
// Base64 エンコード結果を String としたい場合は、Encoder#encodeToString() を呼び出す | |
String encoded = Base64.getEncoder() | |
.encodeToString(text.getBytes()); | |
// デコードは Base64.getDecoder() で得られるオブジェクトを利用する | |
String decoded = new String(Base64.getDecoder() | |
.decode(encoded)); | |
o.println("# Base64.getEncoder() / Base64.getDecoder() のデモ"); | |
o.println("エンコード結果 : " + encoded); | |
o.println("デコード結果 : " + decoded); | |
o.println(); | |
} | |
static void _UrlEncoderのデモ() { | |
String text = "?????>"; | |
// UrlEncoder だと、Base64 で使われる記号 +/ がそれぞれ -_ に置き換えられる | |
String encoded = Base64.getUrlEncoder() | |
.encodeToString(text.getBytes()); | |
// デコーダは Base64.getUrlDecoder() で得られたものを使う必要がある | |
String decoded = new String(Base64.getUrlDecoder() | |
.decode(encoded)); | |
o.println("# Base64.getUrlEncoder() / Base64.getUrlDecoder() のデモ"); | |
o.println("エンコード結果 : " + encoded); | |
o.println("デコード結果 : " + decoded); | |
o.println(); | |
} | |
static void _MimeEncoderのデモ() { | |
final String text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."; | |
String encoded = Base64.getMimeEncoder() | |
.encodeToString(text.getBytes()); | |
String decoded = new String(Base64.getMimeDecoder() | |
.decode(encoded)); | |
o.println("# Base64.getMimeEncoder() / Base64.getMimeDecoder() のデモ"); | |
o.println("エンコード結果 : " + encoded); | |
o.println("デコード結果 : " + decoded); | |
o.println(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
出力結果はこちら。