title: Change the encoding to UTF-8 on a stream (MemoryMappedViewStream)
body: <p>I am using the code below to read a ~2.5Gb Xml file as fast as I can (thanks to MemoryMappedFile). However, I am getting the following exception: "<em>'.', hexadecimal value 0x00, is an invalid character. Line 9778, position 73249406.</em>". I beleive it is due to some encoding problem. How do I make sure that the MemoryMappedViewStream reads the file using UTF-8? </p>
  
  <pre><code>static void Main(string[] args)
  {
      using (var file = MemoryMappedFile.CreateFromFile(@"d:\temp\temp.xml", FileMode.Open, "MyMemMapFile"))
      {
          using (MemoryMappedViewStream stream = file.CreateViewStream())
          {
              Read(stream);
          }
      }
  }
  
  static void Read(Stream stream)
  {
      using (XmlReader reader = XmlReader.Create(stream))
      {
          reader.MoveToContent();
  
          while (reader.Read())
          {
          }
       }
   }
  </code></pre>