はじめに
事前に以下のライブラリを用意します。
- JavaMail API
- http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.7-oth-JPR
- ※"javamail1_4_7.zip"のリンクからダウンロード
実装例
サンプルでは、動作確認しやすいようにmainメソッドで実行できるようにしてあります。
結果だけを確認したい場合は、この記事の一番下のリンク先で使えるようにしてありますのでご覧ください。
UUEncoder.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import javax.mail.MessagingException;
import javax.mail.internet.MimeUtility;
/**
*
* @author tool-taro.com
*/
public class UUEncoder {
public static void main(String[] args) throws MessagingException, IOException {
//エンコードしたい文字列
String source = "タロウ";
//エンコード前にバイト配列に置き換える際のCharset
Charset charset = StandardCharsets.UTF_8;
//エンコード処理
ByteArrayOutputStream bout = new ByteArrayOutputStream();
OutputStream out = null;
try {
out = MimeUtility.encode(bout, "uuencode");
out.write(source.getBytes(charset));
}
finally {
if (out != null) {
try {
out.close();
}
catch (IOException e) {
}
}
}
String result = new String(bout.toByteArray(), charset);
//標準出力
System.out.format("エンコード結果=%1$s", result);
}
}
動作確認
$ javac UUEncoder.java
$ java UUEncoder
$ エンコード結果=begin 644 encoder.buf
)XX*_XX.MXX*F
end
環境
-
開発
- Windows 10 Pro
- JDK 1.8.0_112
- NetBeans IDE 8.2
-
動作検証
- CentOS Linux release 7.2
- JDK 1.8.0_112
上記の実装をベースにWebツールも公開しています。
UUEncode|Web便利ツール@ツールタロウ