UTF8Encoding Oluşturucular

Tanım

UTF8Encoding sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

Name Description
UTF8Encoding()

UTF8Encoding sınıfının yeni bir örneğini başlatır.

UTF8Encoding(Boolean)

UTF8Encoding sınıfının yeni bir örneğini başlatır. Parametre, Unicode bayt sırası işaretinin sağlanıp sağlanmayacağını belirtir.

UTF8Encoding(Boolean, Boolean)

UTF8Encoding sınıfının yeni bir örneğini başlatır. Parametreler, Unicode bayt sırası işaretinin sağlanıp sağlanmayacağını ve geçersiz kodlama algılandığında özel durum oluşturup oluşturmayacağını belirtir.

UTF8Encoding()

Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs

UTF8Encoding sınıfının yeni bir örneğini başlatır.

public:
 UTF8Encoding();
public UTF8Encoding();
Public Sub New ()

Örnekler

Aşağıdaki örnek yeni UTF8Encoding bir örnek oluşturur ve adını görüntüler.

using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        UTF8Encoding utf8 = new UTF8Encoding();
        String encodingName = utf8.EncodingName;
        Console.WriteLine("Encoding name: " + encodingName);
    }
}
Imports System.Text

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim utf8 As New UTF8Encoding()
        Dim encodingName As String = utf8.EncodingName
        Console.WriteLine("Encoding name: " & encodingName)
    End Sub
End Class

Açıklamalar

Bu oluşturucu, Unicode bayt sırası işareti sağlamayan bir örnek oluşturur ve geçersiz bir kodlama algılandığında özel durum oluşturmaz.

Caution

Güvenlik nedeniyle, parametresi olan throwOnInvalidBytes bir oluşturucuyu çağırarak ve değerini trueolarak ayarlayarak hata algılamayı etkinleştirmenizi öneririz.

Ayrıca bkz.

Şunlara uygulanır

UTF8Encoding(Boolean)

Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs

UTF8Encoding sınıfının yeni bir örneğini başlatır. Parametre, Unicode bayt sırası işaretinin sağlanıp sağlanmayacağını belirtir.

public:
 UTF8Encoding(bool encoderShouldEmitUTF8Identifier);
public UTF8Encoding(bool encoderShouldEmitUTF8Identifier);
new System.Text.UTF8Encoding : bool -> System.Text.UTF8Encoding
Public Sub New (encoderShouldEmitUTF8Identifier As Boolean)

Parametreler

encoderShouldEmitUTF8Identifier
Boolean

true yönteminin GetPreamble() Unicode bayt sırası işareti döndürdüğünü belirtmek için; aksi takdirde , false.

Örnekler

Aşağıdaki örnek yeni UTF8Encoding bir örnek oluşturur ve yöntemi tarafından bir Unicode bayt sırası işareti önekinin GetPreamble yayılması gerektiğini belirtir. Yöntemi daha GetPreamble sonra Unicode bayt sırası işareti ön ekini döndürür.

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();
    }
}
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
    
    
    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
End Class

Açıklamalar

Bu oluşturucu, geçersiz bir kodlama algılandığında özel durum oluşturmayan bir örnek oluşturur.

Caution

Güvenlik nedeniyle, parametre içeren throwOnInvalidBytes bir oluşturucuyu çağırarak ve değerini olarak ayarlayarak hata algılamayı trueetkinleştirmeniz gerekir.

encoderShouldEmitUTF8Identifier parametresi yönteminin GetPreamble çalışmasını denetler. ise true, yöntemi UTF-8 biçiminde Unicode bayt sırası işaretini (BOM) içeren bir bayt dizisi döndürür. ise falsesıfır uzunluklu bayt dizisi döndürür. Ancak ayarının ayarlanması encoderShouldEmitUTF8Identifiertrue yöntemin GetBytes bayt dizisinin başına ürün reçetesi ön eki eklemesine neden olmaz ve yöntemin GetByteCount bayt sayısına ÜR'ye bayt sayısını eklemesine neden olmaz.

Ayrıca bkz.

Şunlara uygulanır

UTF8Encoding(Boolean, Boolean)

Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs

UTF8Encoding sınıfının yeni bir örneğini başlatır. Parametreler, Unicode bayt sırası işaretinin sağlanıp sağlanmayacağını ve geçersiz kodlama algılandığında özel durum oluşturup oluşturmayacağını belirtir.

public:
 UTF8Encoding(bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes);
public UTF8Encoding(bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes);
new System.Text.UTF8Encoding : bool * bool -> System.Text.UTF8Encoding
Public Sub New (encoderShouldEmitUTF8Identifier As Boolean, throwOnInvalidBytes As Boolean)

Parametreler

encoderShouldEmitUTF8Identifier
Boolean

true yönteminin GetPreamble() Unicode bayt sırası işareti döndürmesi gerektiğini belirtmek için; aksi takdirde , false.

throwOnInvalidBytes
Boolean

true geçersiz bir kodlama algılandığında özel durum oluşturma; aksi takdirde , false.

Örnekler

Aşağıdaki örnek, yönteminin UTF8Encoding Unicode bayt sırası işareti öneki yaymaması gerektiğini ve geçersiz bir kodlama algılandığında bir özel durum oluşturulacağını belirterek yeni GetPreamble bir örnek oluşturur. Bu oluşturucunun davranışı, geçersiz bir kodlama algılandığında özel durum oluşturmayan varsayılan UTF8Encoding() oluşturucuyla karşılaştırılır. İki UTF8Encoding örnek, bir satırda iki yüksek vekil (U+D801 ve U+D802) içeren ve geçersiz bir karakter dizisi olan bir karakter dizisini kodlar; yüksek vekili her zaman düşük vekil takip etmelidir.

using System;
using System.Text;

class Example
{
    public static void Main()
    {
        UTF8Encoding utf8 = new UTF8Encoding();
        UTF8Encoding utf8ThrowException = new UTF8Encoding(false, true);

        // Create an array with two high surrogates in a row (\uD801, \uD802).
        Char[] chars = new Char[] {'a', 'b', 'c', '\uD801', '\uD802', 'd'};

        // The following method call will not throw an exception.
        Byte[] bytes = utf8.GetBytes(chars);
        ShowArray(bytes);
        Console.WriteLine();

        try {
            // The following method call will throw an exception.
            bytes = utf8ThrowException.GetBytes(chars);
            ShowArray(bytes);
        }
        catch (EncoderFallbackException e) {
            Console.WriteLine("{0} exception\nMessage:\n{1}",
                              e.GetType().Name, e.Message);
        }
    }

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

        Console.WriteLine();
    }
}
// The example displays the following output:
//    61 62 63 EF BF BD EF BF BD 64
//
//    EncoderFallbackException exception
//    Message:
//    Unable to translate Unicode character \uD801 at index 3 to specified code page.
Imports System.Text

Class Example
    Public Shared Sub Main()
        Dim utf8 As New UTF8Encoding()
        Dim utf8ThrowException As New UTF8Encoding(False, True)
        
        ' Create an array with two high surrogates in a row (\uD801, \uD802).
        Dim chars() As Char = {"a"c, "b"c, "c"c, ChrW(&hD801), ChrW(&hD802), "d"c}
        
        ' The following method call will not throw an exception.
        Dim bytes As Byte() = utf8.GetBytes(chars)
        ShowArray(bytes)
        Console.WriteLine()
        
        Try
            ' The following method call will throw an exception.
            bytes = utf8ThrowException.GetBytes(chars)
            ShowArray(bytes)
        Catch e As EncoderFallbackException
            Console.WriteLine("{0} exception{2}Message:{2}{1}",
                              e.GetType().Name, e.Message, vbCrLf)
        End Try
    End Sub
    
    
    Public Shared Sub ShowArray(theArray As Array)
        For Each o In theArray
            Console.Write("{0:X2} ", o)
        Next
        Console.WriteLine()
    End Sub
End Class
' The example displays the following output:
'    61 62 63 EF BF BD EF BF BD 64
'
'    EncoderFallbackException exception
'    Message:
'    Unable to translate Unicode character \uD801 at index 3 to specified code page.

Açıklamalar

encoderShouldEmitUTF8Identifier parametresi yönteminin GetPreamble çalışmasını denetler. ise true, yöntemi UTF-8 biçiminde Unicode bayt sırası işaretini (BOM) içeren bir bayt dizisi döndürür. ise falsesıfır uzunluklu bayt dizisi döndürür. Ancak ayarının ayarlanması encoderShouldEmitUTF8Identifiertrue yöntemin GetBytes bayt dizisinin başına ürün reçetesi ön eki eklemesine neden olmaz ve yöntemin GetByteCount bayt sayısına ÜR'ye bayt sayısını eklemesine neden olmaz.

ise throwOnInvalidBytestrue, geçersiz bir bayt dizisi algılayan bir yöntem bir System.ArgumentException özel durum oluşturur. Aksi takdirde, yöntem bir özel durum oluşturmaz ve geçersiz dizi yoksayılır.

Caution

Güvenlik nedenleriyle, parametresini içeren throwOnInvalidBytes bir oluşturucuyu çağırarak ve bu parametreyi olarak ayarlayarak hata algılamayı trueetkinleştirmeniz gerekir.

Ayrıca bkz.

Şunlara uygulanır