Freigeben über


UTF8Encoding-Konstruktor (Boolean)

Initialisiert eine neue Instanz der UTF8Encoding-Klasse. Ein Parameter gibt an, ob eine Unicode-Bytereihenfolgemarkierung bereitgestellt werden soll.

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

Syntax

'Declaration
Public Sub New ( _
    encoderShouldEmitUTF8Identifier As Boolean _
)
'Usage
Dim encoderShouldEmitUTF8Identifier As Boolean

Dim instance As New UTF8Encoding(encoderShouldEmitUTF8Identifier)
public UTF8Encoding (
    bool encoderShouldEmitUTF8Identifier
)
public:
UTF8Encoding (
    bool encoderShouldEmitUTF8Identifier
)
public UTF8Encoding (
    boolean encoderShouldEmitUTF8Identifier
)
public function UTF8Encoding (
    encoderShouldEmitUTF8Identifier : boolean
)

Parameter

  • encoderShouldEmitUTF8Identifier
    true, um anzugeben, dass eine Unicode-Bytereihenfolgemarkierung bereitgestellt wird, andernfalls false.

Hinweise

Dieser Konstruktor erstellt eine Instanz, die beim Erkennen einer ungültigen Codierung keine Ausnahme auslöst.

Warnung

Aus Sicherheitsgründen wird empfohlen, die Fehlererkennung mithilfe des Konstruktors zu aktivieren, der einen throwOnInvalidBytes-Parameter annimmt, und den Parameter auf true festzulegen.

Optional stellt UTF8Encoding eine Präambel bereit. Dabei handelt es sich um ein Bytearray, das der Bytefolge vorangestellt werden kann, die sich aus dem Codierungsvorgang ergibt. Falls die Präambel eine Bytereihenfolgemarkierung (Codepunkt U+FEFF) enthält, kann der Decoder daraus die Bytereihenfolge und das Transformationsformat bzw. UTF ermitteln. Die Unicode-Bytereihenfolgemarkierung wird als EF BB BF (hexadezimal) serialisiert. Die GetPreamble-Methode gibt ein Bytearray zurück, das die Bytereihenfolgemarkierung enthält.

Weitere Informationen über die Unicode-Codierung, die Bytereihenfolge und die Bytereihenfolgemarkierung finden Sie im Unicode-Standard unter http://www.unicode.org (nur auf Englisch verfügbar).

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie eine neue UTF8Encoding-Instanz erstellt wird, die angibt, dass beim Codieren eine Unicode-Bytereihenfolgemarkierung als Präfix ausgegeben werden soll. Die GetPreamble-Methode gibt die Unicode-Bytereihenfolgemarkierung als Präfix zurück und zeigt sie in der Konsole an. Beachten Sie, dass eine mit dem Standardkonstruktor erstellte UTF8Encoding nicht über ein Präfix für die Unicode-Bytereihenfolgemarkierung verfügt.

Imports System
Imports System.Text

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim utf8 As New UTF8Encoding()
        Dim utf8EmitBOM As New UTF8Encoding(True)
        
        Console.WriteLine("utf8 preamble:")
        ShowArray(utf8.GetPreamble())
        
        Console.WriteLine("utf8EmitBOM:")
        ShowArray(utf8EmitBOM.GetPreamble())
    End Sub 'Main
    
    
    Public Shared Sub ShowArray(theArray As Array)
        Dim o As Object
        For Each o In  theArray
            Console.Write("[{0}]", o)
        Next o
        Console.WriteLine()
    End Sub 'ShowArray
End Class 'UTF8EncodingExample
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        UTF8Encoding utf8 = new UTF8Encoding();
        UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);

        Console.WriteLine("utf8 preamble:");
        ShowArray(utf8.GetPreamble());

        Console.WriteLine("utf8EmitBOM:");
        ShowArray(utf8EmitBOM.GetPreamble());
    }

    public static void ShowArray(Array theArray) {
        foreach (Object o in theArray) {
            Console.Write("[{0}]", o);
        }
        Console.WriteLine();
    }
}
using namespace System;
using namespace System::Text;
using namespace System::Collections;
void ShowArray( Array^ theArray )
{
   IEnumerator^ myEnum = theArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Object^ o = safe_cast<Object^>(myEnum->Current);
      Console::Write( "[{0}]", o );
   }

   Console::WriteLine();
}

int main()
{
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   UTF8Encoding^ utf8EmitBOM = gcnew UTF8Encoding( true );
   Console::WriteLine( "utf8 preamble:" );
   ShowArray( utf8->GetPreamble() );
   Console::WriteLine( "utf8EmitBOM:" );
   ShowArray( utf8EmitBOM->GetPreamble() );
}
import System.*;
import System.Text.*;

class UTF8EncodingExample
{
    public static void main(String[] args)
    {
        UTF8Encoding utf8 = new UTF8Encoding();
        UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);

        Console.WriteLine("utf8 preamble:");
        ShowArray(utf8.GetPreamble());
        Console.WriteLine("utf8EmitBOM:");
        ShowArray(utf8EmitBOM.GetPreamble());
    } //main

    public static void ShowArray(Array theArray)
    {
        Object o = null;
        for (int iCtr = 0; iCtr < theArray.get_Length(); iCtr++) {
            o = theArray.get_Item(iCtr);
            Console.Write("[{0}]", o);
        }
        Console.WriteLine();
    } //ShowArray
} //UTF8EncodingExample

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

UTF8Encoding-Klasse
UTF8Encoding-Member
System.Text-Namespace
GetPreamble