UTF8Encoding.GetDecoder Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan dekoder yang mengonversi urutan byte yang dikodekan UTF-8 menjadi urutan karakter Unicode.
public:
override System::Text::Decoder ^ GetDecoder();
public override System.Text.Decoder GetDecoder();
override this.GetDecoder : unit -> System.Text.Decoder
Public Overrides Function GetDecoder () As Decoder
Mengembalikan
Decoder yang mengonversi urutan byte yang dikodekan UTF-8 menjadi urutan karakter Unicode.
Contoh
Contoh berikut menggunakan GetDecoder metode untuk mendapatkan dekoder UTF-8. Decoder mengonversi urutan byte menjadi urutan karakter.
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
Char[] chars;
Byte[] bytes = new Byte[] {
99, 204, 128, 234, 130, 160
};
Decoder utf8Decoder = Encoding.UTF8.GetDecoder();
int charCount = utf8Decoder.GetCharCount(bytes, 0, bytes.Length);
chars = new Char[charCount];
int charsDecodedCount = utf8Decoder.GetChars(bytes, 0, bytes.Length, chars, 0);
Console.WriteLine(
"{0} characters used to decode bytes.", charsDecodedCount
);
Console.Write("Decoded chars: ");
foreach (Char c in chars) {
Console.Write("[{0}]", c);
}
Console.WriteLine();
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim chars() As Char
Dim bytes() As Byte = {99, 204, 128, 234, 130, 160}
Dim utf8Decoder As Decoder = Encoding.UTF8.GetDecoder()
Dim charCount As Integer = utf8Decoder.GetCharCount(bytes, 0, bytes.Length)
chars = New Char(charCount - 1) {}
Dim charsDecodedCount As Integer = utf8Decoder.GetChars( _
bytes, 0, bytes.Length, chars, 0 _
)
Console.WriteLine("{0} characters used to decode bytes.", charsDecodedCount)
Console.Write("Decoded chars: ")
Dim c As Char
For Each c In chars
Console.Write("[{0}]", c)
Next c
Console.WriteLine()
End Sub
End Class
Keterangan
Metode ini Decoder.GetChars mengonversi blok byte berurutan menjadi blok karakter berurutan, dengan cara yang mirip GetChars dengan metode kelas ini. Namun, Decoder mempertahankan informasi status antar panggilan sehingga dapat mendekode urutan byte dengan benar yang mencakup blok. juga Decoder mempertahankan byte berikutnya di akhir blok data dan menggunakan byte berikutnya dalam operasi decoding berikutnya. Oleh karena itu, GetDecoder dan GetEncoder berguna untuk transmisi jaringan dan operasi file, karena operasi tersebut sering berurusan dengan blok data alih-alih aliran data lengkap.
Jika deteksi kesalahan diaktifkan, yaitu, throwOnInvalidCharacters parameter konstruktor diatur ke true, deteksi kesalahan juga diaktifkan dalam Decoder yang dikembalikan oleh metode ini. Jika deteksi kesalahan diaktifkan dan urutan yang tidak valid ditemui, status dekoder tidak terdefinisi dan pemrosesan harus berhenti.