Conversion from byte array to base64 and back
===

I am trying to (1) generate a byte array (2) convert that byte array to base64 (3) convert that base64 string back to a byte array. I've tried out a few solutions, for example those in this [question](http://stackoverflow.com/questions/8645088/how-to-decode-a-string-of-text-from-a-base64-to-a-byte-array-and-the-get-the-st).

For some reason the initial and final byte arrays do not match. Here is the code used:

    using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
        {
             byte[] originalArray = new byte[32];
             rng.GetBytes(key);
             string temp_inBase64 = Convert.ToBase64String(originalArray);
             byte[] temp_backToBytes = Encoding.UTF8.GetBytes(temp_inBase64);
        }

My questions are:

(1) Why do "originalArray" and "temp_backToBytes" not match? (originalArray has length of 32, temp_backToBytes has a length of 44, but their values are also different)

(2) Is it possible to convert back and forth, and if so, how do I accomplish this?

Thanks