Export (0) Print
Expand All

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 UTF8EncodingExample {
    public static void Main() {
        UTF8Encoding utf8 = new UTF8Encoding();
        UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);

        Console.WriteLine("utf8 preamble:");


    public static void ShowArray(Array theArray) {
        foreach (Object o in theArray) {
            Console.Write("[{0}]", o);

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
© 2015 Microsoft