import java.io.*; import java.util.*; /** * JIS&MIMEエンコードされたファイルを読み、エンコードして書き出す。 * @author Hiroyuki Murata */ class MimeDec { static final int[] reverse64 = new int['z' + 1]; static final String mimehead = "=?ISO-2022-JP?B?"; /** * スタティックイニシャライザ */ static { String base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; for (int i=0; i= 0) inlen = tail; // シッポ切り(エンコードが正しければ不要の筈) int inlen2 = inlen + 3 & ~3; // 4の倍数に切り上げ(同上) int outlen = inlen * 3 / 4; // 出力文字列長 byte[] outbuf = new byte[outlen]; // 出力用バッファ int[] dec4 = new int[4]; // 4文字分のデコードバッファ int j = 0; for (int i=0; i> 4)); outbuf[j++] = (byte)((dec4[1] << 4) | (dec4[2] >> 2)); outbuf[j++] = (byte)((dec4[2] << 6) | (dec4[3] )); } catch (IndexOutOfBoundsException e) { break; } } } try { return new String(outbuf, "JIS"); } catch (java.io.UnsupportedEncodingException e) { return null; } } //------------------------------------------------------ /** * 起動 */ static public void main(String[] args) { if (args.length != 2) { System.out.println("Usage: java MimeDec inputfile outputfile"); } else { new MimeDec(args[0], args[1]); } } }