内容转换成base64格式  String ret=new String();
  byte[] bytes=new byte[1024];
  String aa="aaaa";
  bytes=aa.getBytes();
  ret=new sun.misc.BASE64Encoder().encode(bytes); //具体的编码方法
  bytes = new sun.misc.BASE64Decoder().decodeBuffer(ret);    
  aa=new String(bytes);
  out.println(aa);怎样把文件转换成byte[] private byte[] getContent(String fullfilename) throws IOException {
    FileInputStream f = new FileInputStream(fullfilename);
    byte[] b = new byte[ (int)new File(fullfilename).length()];
    f.read(b);
    f.close();
    return b;
  }

解决方案 »

  1.   

    看它的java doc吧。呵呵
    想当年自己用c写的base64转换,也比较简单的
      

  2.   

    看JDK 1.4 源码, Base64 就是字符用 6 bit , 高2位置为00. 一般的实现是编码时, 把字符串每3个字符转化成4个字符, 如果碰到 /3 时有余数 , 就填充补齐,一般用 '=' 填充,  解码时相反,. 所以你要是看到一串字符都是 ASCII < 64 的字符组成,同时 个数正好是 4 的倍数,而且末尾有 = 号, 那就有可能是 Base64 编码的. 使用 Base64 Encoder / Decoder 时,要注意, 如果解码时出现错误的话,可能你使用的 Encoder & Decoder 要成对, 因为这依赖实现,可能 Encoder 和 Decoder 编写时使用了不用的算法.