Advertisement
Aslai

Base 64

Oct 23rd, 2011
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.85 KB | None | 0 0
  1. String base64( String data ){
  2.     String vals = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890+/=";
  3.     System.Text.StringBuilder buffer = new System.Text.StringBuilder();
  4.     char[] in = data.ToCharArray(0, data.Length);
  5.    
  6.     int read = 0;
  7.     int i = 0;
  8.     while( i < data.Length ){
  9.         if( bufout >= bufferlen - read / 2 )
  10.             break;
  11.         int reading;
  12.         if( read <= 2 ){
  13.             reading = ( in[i] >> (2-read) ) & 0x3F;
  14.         }
  15.         else{
  16.             reading = ( ( in[i++] << read ) & 0xFF ) >> 2;
  17.             reading += ( in[i] >> (8-read+2) ) & 0x3F;
  18.         }
  19.         read = ( read + 6 ) % 8;
  20.         if( read == 0 ) i ++;
  21.         buffer.Append( vals.Substring(reading, 1) );
  22.     }
  23.     while( read != 0 ){
  24.         buffer.Append( "=" );
  25.         read = ( read + 6 ) % 8;
  26.     }
  27.     return buffer.ToString();
  28. }
  29.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement