They are inversions if you start with a valid UTF-8 byte sequence, but this is not the case if you only start with an arbitrary byte sequence.
: , 0xff. UTF-8 . , :
byte[] bytes = { 0xff };
string text = Encoding.UTF8.GetString(bytes);
... text , U + FFFD, Unicode, , . - , 0x80, . , , .
, Encoding - Convert.ToBase64String , , hex. Encoding , .
, :
string text = GetRandomText();
byte[] bytes = Encoding.UTF8.GetBytes(text);
string text2 = Encoding.UTF8.GetString(bytes);
... , text2 text, , , . "" .