public void Decode_Utf8() { var utf8 = new UTF8Encoding(false, true); var text = "abc def baz aeiouy \u00E4\u00EB\u00EF\u00F6\u00FC\u00FB"; var bytes = utf8.GetBytesWithPreamble(text); // Detect encoding should correctly pick UTF-8 using (var stream = new MemoryStream(bytes)) { var sourceText = EncodedStringText.Create(stream); Assert.Equal(text, sourceText.ToString()); Assert.Equal(Encoding.UTF8.EncodingName, sourceText.Encoding.EncodingName); Assert.True(stream.CanRead); } }