UTF8Encoding Constructor (Boolean)

Initializes a new instance of the UTF8Encoding class. A parameter specifies whether to provide a Unicode byte order mark.

Namespace:  System.Text
Assembly:  mscorlib (in mscorlib.dll)

public UTF8Encoding(
	bool encoderShouldEmitUTF8Identifier


Type: System.Boolean
true to specify that a Unicode byte order mark is provided; otherwise, false.

This constructor creates an instance that does not throw an exception when an invalid encoding is detected.


For security reasons, your applications are recommended to enable error detection by using the constructor that accepts a throwOnInvalidBytes parameter and setting that parameter to true.

The following example demonstrates how to create a new UTF8Encoding instance, specifying that a Unicode byte order mark prefix should be emitted when encoding. The GetPreamble method returns the Unicode byte order mark prefix and displays it on the console. Notice that a UTF8Encoding created using the default constructor does not have a Unicode byte order mark prefix.

using System;
using System.Text;

class Example
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
      UTF8Encoding utf8 = new UTF8Encoding();
      UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);

      outputBlock.Text += "utf8 preamble:" + "\n";
      ShowArray(outputBlock, utf8.GetPreamble());

      outputBlock.Text += "utf8EmitBOM:" + "\n";
      ShowArray(outputBlock, utf8EmitBOM.GetPreamble());

   public static void ShowArray(System.Windows.Controls.TextBlock outputBlock, Array theArray)
      foreach (Object o in theArray)
         outputBlock.Text += String.Format("[{0}]", o);
      outputBlock.Text += "\n";


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions