What is the reason that Encoding.UTF8.GetString and Encoding.UTF8.GetBytes are not inverse of each other? : <p>Probably I am missing something, but I do not understand why Encoding.UTF8.GetString and Encoding.UTF8.GetBytes are not working as inverse transformation of each other?</p>

<p>In the following example the myOriginalBytes and asBytes are not equal, even their length is different. Could anyone explain what am I missing?</p>

<pre><code>byte[] myOriginalBytes = GetRandomByteArray();
var asString = Encoding.UTF8.GetString(myOriginalBytes);
var asBytes = Encoding.UTF8.GetBytes(asString);
</code></pre>
