使用 new sun.misc.BASE64Decoder().decodeBuffer(String mimecontent);

解决方案 »

  1.   

    自带的
    有没有他的api说明呢?
    我上java.sun去找
    没有找到
      

  2.   

    JRE 1.3以上的版本,都包含这个类。
    试试这个例子。如果正式用的话,处理好异常。
    如果解密字符串,注意不要算上前面的标志串。
    你的这段解出来如下:
    ---------------------------------------------------
    xzchen,您好!         致
    礼!
              陈晓志
            [email protected]
              2004-05-09
    -----------------------------------------------------------import java.io.*;
    import sun.misc.BASE64Encoder;
    import sun.misc.BASE64Decoder;public class Base64Test
    {
    public static void main (String[] args) throws Exception
    {
    if(args.length < 2)
    {
    System.out.println("USAGE:");
    System.out.println("\tjava Base64Test encodestring string_to_encode");
    System.out.println("\tjava Base64Test decodestring string_to_decode");
    System.out.println("\tjava Base64Test encodefile file_to_encode");
    System.out.println("\tjava Base64Test decodefile file_to_decode");
    return;
    }
    BASE64Encoder encoder = new BASE64Encoder();
    BASE64Decoder decoder = new BASE64Decoder();
    if(args[0].equalsIgnoreCase("encodestring"))
    {
    String encodedstr = encoder.encodeBuffer(args[1].getBytes("GB2312"));
    System.out.println("Encoded String:\n" + encodedstr);
    return;
    }
    else if(args[0].equalsIgnoreCase("decodestring"))
    {
    byte[] decodedstr = decoder.decodeBuffer(args[1]);
    System.out.println("Decoded String:\n" + (new String(decodedstr)));
    return;
    }
    else if(args[0].equalsIgnoreCase("encodefile"))
    {
    FileInputStream fis = new FileInputStream(args[1]);
    FileOutputStream fos = new FileOutputStream(args[1]+".enc");
    encoder.encodeBuffer(fis,fos);
    fis.close();
    fos.close();
    System.out.println("Encoded File:\n" + args[1]+".enc");
    return;
    }
    else if(args[0].equalsIgnoreCase("decodefile"))
    {
    FileInputStream fis = new FileInputStream(args[1]);
    FileOutputStream fos = new FileOutputStream(args[1]+".dec");
    decoder.decodeBuffer(fis,fos);
    fis.close();
    fos.close();
    System.out.println("Decoded File:\n" + args[1]+".dec");
    return;
    }
    else
    {
    System.out.println("USAGE:");
    System.out.println("\tjava Base64Test encodestring string_to_encode");
    System.out.println("\tjava Base64Test decodestring string_to_decode");
    System.out.println("\tjava Base64Test encodefile file_to_encode");
    System.out.println("\tjava Base64Test decodefile file_to_decode");
    return;
    }
    }
    }