<%          ' OPTION   EXPLICIT //强制声明变量          const   BASE_64_MAP_INIT   = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ "           dim   nl           '   zero   based   arrays //零基础数组
          dim   Base64EncMap()           dim   Base64DecMap(127) 
          '   must   be   called   before   using   anything   else //在使用前必须被别的什么吗          PUBLIC   SUB   initCodecs()                     '   init   vars                     nl   =   " <P> "   &   chr(13)   &   chr(10)                     '   setup   base   64 //设置基地64                    dim   max,   idx                           max   =   len(BASE_64_MAP_INIT) 
                          'response.Write(mid(BASE_64_MAP_INIT,idx+1,1))
'   response.End()
                        redim   Base64EncMap(max-1) 
                    for   idx   =0 to  max-1
                              '   one   based   string 
                             'response.Write("yy"&idx&"yy")
'  'response.End()
                              Base64EncMap(idx)=mid(BASE_64_MAP_INIT,idx+1,1)                     next                     for   idx   =   0   to   max   -   1                               Base64DecMap(ASC(Base64EncMap(idx)))   = idx 
                             ' response.Write(Base64EncMap(idx)&Base64EncMap(idx))                    next 
          END   SUB 
          '   encode   base   64   encoded   string //编码base 64编码的字符串          PUBLIC   FUNCTION   base64Encode(plain) 
                    if   len(plain)   =   0   then                               base64Encode   =   " "                               exit   function                     end   if 
                    dim   ret,   ndx,   by3,   first,   second,   third                     by3   =   (len(plain)   \   3)   *   3                     ndx   =   1                     do   while   ndx   <=   by3                               first     =   asc(mid(plain,   ndx+0,   1))                               second   =   asc(mid(plain,   ndx+1,   1))                               third     =   asc(mid(plain,   ndx+2,   1))                               ret   =   ret   &   Base64EncMap(     (first   \   4)   AND   63   )                               ret   =   ret   &   Base64EncMap(   ((first   *   16)   AND   48)   +   ((second   \   16) AND   15   )   )                               ret   =   ret   &   Base64EncMap(   ((second   *   4)   AND   60)   +   ((third   \   64) AND   3   )   )                               ret   =   ret   &   Base64EncMap(   third   AND   63)                               ndx   =   ndx   +   3                     loop                     '   check   for   stragglers //检查掉队                    if   by3   <   len(plain)   then                               first     =   asc(mid(plain,   ndx+0,   1))                               ret   =   ret   &   Base64EncMap(     (first   \   4)   AND   63   )                               if   (len(plain)   MOD   3   )   =   2   then                                         second   =   asc(mid(plain,   ndx+1,   1))                                         ret   =   ret   &   Base64EncMap(   ((first   *   16)   AND   48)   + ((second   \ 16)   AND   15   )   )                                         ret   =   ret   &   Base64EncMap(   ((second   *   4)   AND   60)   )                               else                                         ret   =   ret   &   Base64EncMap(   (first   *   16)   AND   48)                                         ret   =   ret   &   "= "                               end   if                               ret   =   ret   &   "= "                     end   if 
                    base64Encode   =   ret           END   FUNCTION 
          '   decode   base   64   encoded   string //解码base 64编码的字符串          PUBLIC   FUNCTION   base64Decode(scrambled) 
                    if   len(scrambled)   =   0   then                               base64Decode   =   " "                               exit   function                     end   if 
                    '   ignore   padding //忽略填充                    dim   realLen                     realLen   =   len(scrambled)                     do   while   mid(scrambled,   realLen,   1)   =   "= "                               realLen   =   realLen   -   1                     loop                     dim   ret,   ndx,   by4,   first,   second,   third,   fourth                     ret   =   " "                     by4   =   (realLen   \   4)   *   4                     ndx   =   1                     do   while   ndx   <=   by4                               first     =   Base64DecMap(asc(mid(scrambled,   ndx+0,   1)))                               second   =   Base64DecMap(asc(mid(scrambled,   ndx+1,   1)))                               third     =   Base64DecMap(asc(mid(scrambled,   ndx+2,   1)))                               fourth   =   Base64DecMap(asc(mid(scrambled,   ndx+3,   1)))                               ret   =   ret   &   chr(   ((first   *   4)   AND   255)   +       ((second   \   16)   AND   3) )                               ret   =   ret   &   chr(   ((second   *   16)   AND   255)   +   ((third   \   4)   AND 15)   )                               ret   =   ret   &   chr(   ((third   *   64)   AND   255)   +     (fourth   AND   63)   )                               ndx   =   ndx   +   4                     loop                     '   check   for   stragglers,   will   be   2   or   3   characters //检查流浪者,将2或3个字符                    if   ndx   <   realLen   then                               first     =   Base64DecMap(asc(mid(scrambled,   ndx+0,   1)))                               second   =   Base64DecMap(asc(mid(scrambled,   ndx+1,   1)))                               ret   =   ret   &   chr(   ((first   *   4)   AND   255)   +       ((second   \   16)   AND   3))                               if   realLen   MOD   4   =   3   then                                         third   =   Base64DecMap(asc(mid(scrambled,ndx+2,1)))                                         ret   =   ret   &   chr(   ((second   *   16)   AND   255)   +   ((third   \   4)   AND 15)   )                               end   if                     end   if 
                    base64Decode   =   ret           END   FUNCTION 
'   initialize           call   initCodecs 
   'Testing   code          dim   inp,   encode        '  inp   =   request.QueryString( "input ") 
       inp="&*%@@"         encode   =   base64Encode(inp)         ' response.write   "Encoded   value   =   "   &   encode   &   nl 
'
'         response.write   "Decoded   value   =   "   &   base64Decode(encode)   &   nl %> 
这是asp写的,帮忙转成c#.net的。