求助,用JAVA写base64的decode和encode方法,不用SUN的包
 现在想写一个base64的decode和encode方法, 
 我在J2EE下面看到了一个org\apache\catalina\util\Base64   的类 
 我想直接用这个类是不是就可以做base64的转换,   
 代码中加入   
 import   org.apache.catalina.util.*;   
 public   class   Base64Code   {     	         
             private   Base64Code()   {   
             	}            
             public   static   String   encode(   String   s   )   {                           
             	   String   str   =    "test "; 
             	   str   =   Base64.encode(   s.getBytes()   ).toString(); 
             	   return   str; 
             } 
 }      
 编译没有问题,为什么执行的时候总是报
java.lang.NoClassDefFoundError的错呢。   
 求助,如果不用   org\apache\catalina\util\Base64,可否用其他实现BASE64转换的方法。   
 谢谢。     
------解决方案--------------------import java.lang.*;  
 import java.io.*;      
 public class Base64 {  
     private static char[] base64EncodeChars = new char[] {  
          'A ',  'B ',  'C ',  'D ',  'E ',  'F ',  'G ',  'H ',  
          'I ',  'J ',  'K ',  'L ',  'M ',  'N ',  'O ',  'P ',  
          'Q ',  'R ',  'S ',  'T ',  'U ',  'V ',  'W ',  'X ',  
          'Y ',  'Z ',  'a ',  'b ',  'c ',  'd ',  'e ',  'f ',  
          'g ',  'h ',  'i ',  'j ',  'k ',  'l ',  'm ',  'n ',  
          'o ',  'p ',  'q ',  'r ',  's ',  't ',  'u ',  'v ',  
          'w ',  'x ',  'y ',  'z ',  '0 ',  '1 ',  '2 ',  '3 ',  
          '4 ',  '5 ',  '6 ',  '7 ',  '8 ',  '9 ',  '+ ',  '/ ' };      
     private static byte[] base64DecodeChars = new byte[] {  
     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  
     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  
     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,  
     52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,  
     -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,  
     15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,  
     -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,  
     41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1 };      
     public static String encode(byte[] data) {  
         StringBuffer sb = new StringBuffer();  
         int len = data.length;  
         int i = 0;  
         int b1, b2, b3;  
         while (i  < len) {  
             b1 = data[i++] & 0xff;  
             if (i == len)  
             {  
                 sb.append(base64EncodeChars[b1 > > >  2]);  
                 sb.append(base64EncodeChars[(b1 & 0x3)  < < 4]);  
                 sb.append( "== ");  
                 break;  
             }  
             b2 = data[i++] & 0xff;  
             if (i == len)  
             {  
                 sb.append(base64EncodeChars[b1 > > >  2]);