UTF8Encoding Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.