Bagikan melalui


Decoder.GetCharCount Metode

Definisi

Ketika ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte.

Overload

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Ketika ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dalam rentang. Parameter menunjukkan apakah akan menghapus status internal dekoder setelah perhitungan.

GetCharCount(Byte*, Int32, Boolean)

Saat ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte yang dimulai dari penunjuk byte yang ditentukan. Parameter menunjukkan apakah akan menghapus status internal dekoder setelah perhitungan.

GetCharCount(Byte[], Int32, Int32)

Saat ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dari array byte yang ditentukan.

GetCharCount(Byte[], Int32, Int32, Boolean)

Saat ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dari array byte yang ditentukan. Parameter menunjukkan apakah akan menghapus status internal dekoder setelah perhitungan.

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Sumber:
Decoder.cs
Sumber:
Decoder.cs
Sumber:
Decoder.cs

Ketika ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dalam rentang. Parameter menunjukkan apakah akan menghapus status internal dekoder setelah perhitungan.

public:
 virtual int GetCharCount(ReadOnlySpan<System::Byte> bytes, bool flush);
public virtual int GetCharCount (ReadOnlySpan<byte> bytes, bool flush);
abstract member GetCharCount : ReadOnlySpan<byte> * bool -> int
override this.GetCharCount : ReadOnlySpan<byte> * bool -> int
Public Overridable Function GetCharCount (bytes As ReadOnlySpan(Of Byte), flush As Boolean) As Integer

Parameter

bytes
ReadOnlySpan<Byte>

Rentang byte untuk didekodekan.

flush
Boolean

true untuk menyimulasikan pembersihan status internal encoder setelah perhitungan; jika tidak, false.

Mengembalikan

Jumlah karakter yang dihasilkan dengan mendekode urutan byte yang ditentukan dan byte apa pun dalam buffer internal.

Keterangan

Metode ini tidak mempengaruhi status dekoder.

Untuk menghitung ukuran buffer yang tepat yang GetChars mengharuskan untuk menyimpan karakter yang dihasilkan, aplikasi harus menggunakan GetCharCount.

Jika GetChars dipanggil dengan flush diatur ke false, dekoder menyimpan byte berikutnya di akhir blok data dalam buffer internal dan menggunakannya dalam operasi pendekodean berikutnya. Aplikasi harus memanggil GetCharCount blok data segera sebelum memanggil GetChars pada blok yang sama, sehingga byte berikutnya dari blok sebelumnya disertakan dalam perhitungan.

Berlaku untuk

GetCharCount(Byte*, Int32, Boolean)

Sumber:
Decoder.cs
Sumber:
Decoder.cs
Sumber:
Decoder.cs

Penting

API ini bukan kompatibel CLS.

Saat ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte yang dimulai dari penunjuk byte yang ditentukan. Parameter menunjukkan apakah akan menghapus status internal dekoder setelah perhitungan.

public:
 virtual int GetCharCount(System::Byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
public virtual int GetCharCount (byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetCharCount (byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public virtual int GetCharCount (byte* bytes, int count, bool flush);
[<System.CLSCompliant(false)>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int

Parameter

bytes
Byte*

Penunjuk ke byte pertama yang didekodekan.

count
Int32

Jumlah byte yang akan didekodekan.

flush
Boolean

true untuk menyimulasikan pembersihan status internal encoder setelah perhitungan; jika tidak, false.

Mengembalikan

Jumlah karakter yang dihasilkan dengan mendekode urutan byte yang ditentukan dan byte apa pun dalam buffer internal.

Atribut

Pengecualian

bytes adalah null (Nothing dalam Visual Basic .NET).

count kurang dari nol.

Fallback terjadi (untuk informasi selengkapnya, lihat Pengodean Karakter di .NET)

-dan-

Fallback diatur ke DecoderExceptionFallback.

Keterangan

Metode ini tidak mempengaruhi status dekoder.

Untuk menghitung ukuran array yang tepat yang GetChars diperlukan untuk menyimpan karakter yang dihasilkan, aplikasi harus menggunakan GetCharCount.

Jika GetChars dipanggil dengan flush diatur ke false, dekoder menyimpan byte berikutnya di akhir blok data dalam buffer internal dan menggunakannya dalam operasi pendekodean berikutnya. Aplikasi harus memanggil GetCharCount blok data segera sebelum memanggil GetChars pada blok yang sama, sehingga byte berikutnya dari blok sebelumnya disertakan dalam perhitungan.

Lihat juga

Berlaku untuk

GetCharCount(Byte[], Int32, Int32)

Sumber:
Decoder.cs
Sumber:
Decoder.cs
Sumber:
Decoder.cs

Saat ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dari array byte yang ditentukan.

public:
 abstract int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public abstract int GetCharCount (byte[] bytes, int index, int count);
abstract member GetCharCount : byte[] * int * int -> int
Public MustOverride Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer

Parameter

bytes
Byte[]

Array byte yang berisi urutan byte yang akan didekodekan.

index
Int32

Indeks byte pertama yang didekodekan.

count
Int32

Jumlah byte yang akan didekodekan.

Mengembalikan

Jumlah karakter yang dihasilkan dengan mendekode urutan byte yang ditentukan dan byte apa pun dalam buffer internal.

Pengecualian

bytes adalah null (Nothing).

index atau count kurang dari nol.

-atau-

index dan count tidak menunjukkan rentang yang valid dalam bytes.

Fallback terjadi (untuk informasi selengkapnya, lihat Pengodean Karakter di .NET)

-dan-

Fallback diatur ke DecoderExceptionFallback.

Contoh

Contoh kode berikut menunjukkan cara menggunakan GetCharCount metode untuk menghitung jumlah karakter yang diperlukan untuk mendekode rentang byte yang ditentukan dalam array.

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,0,110,0,105,0,99,0,111,0,100,0,101,0};
   Decoder^ uniDecoder = Encoding::Unicode->GetDecoder();
   int charCount = uniDecoder->GetCharCount( bytes, 0, bytes->Length );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}

/* This code example produces the following output.

7 characters needed to decode bytes.

*/
using System;
using System.Text;

class DecoderExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

        Decoder uniDecoder = Encoding.Unicode.GetDecoder();
        int charCount = uniDecoder.GetCharCount(bytes, 0, bytes.Length);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}

/* This code example produces the following output.

7 characters needed to decode bytes.

*/
Imports System.Text

Class DecoderExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0 _
        }
        
        Dim uniDecoder As Decoder = Encoding.Unicode.GetDecoder()
        Dim charCount As Integer = uniDecoder.GetCharCount(bytes, 0, bytes.Length)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

'This code example produces the following output.
'
'7 characters needed to decode bytes.
'

Keterangan

Metode ini tidak mempengaruhi status dekoder.

Untuk menghitung ukuran array yang tepat yang GetChars diperlukan untuk menyimpan karakter yang dihasilkan, aplikasi harus menggunakan GetCharCount.

Jika GetChars dipanggil dengan flush diatur ke false, dekoder menyimpan byte berikutnya di akhir blok data dalam buffer internal dan menggunakannya dalam operasi pendekodean berikutnya. Aplikasi harus memanggil GetCharCount blok data segera sebelum memanggil GetChars pada blok yang sama, sehingga byte berikutnya dari blok sebelumnya disertakan dalam perhitungan.

Lihat juga

Berlaku untuk

GetCharCount(Byte[], Int32, Int32, Boolean)

Sumber:
Decoder.cs
Sumber:
Decoder.cs
Sumber:
Decoder.cs

Saat ditimpa dalam kelas turunan, menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dari array byte yang ditentukan. Parameter menunjukkan apakah akan menghapus status internal dekoder setelah perhitungan.

public:
 virtual int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count, bool flush);
public virtual int GetCharCount (byte[] bytes, int index, int count, bool flush);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetCharCount (byte[] bytes, int index, int count, bool flush);
abstract member GetCharCount : byte[] * int * int * bool -> int
override this.GetCharCount : byte[] * int * int * bool -> int
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetCharCount : byte[] * int * int * bool -> int
override this.GetCharCount : byte[] * int * int * bool -> int
Public Overridable Function GetCharCount (bytes As Byte(), index As Integer, count As Integer, flush As Boolean) As Integer

Parameter

bytes
Byte[]

Array byte yang berisi urutan byte yang akan didekodekan.

index
Int32

Indeks byte pertama yang didekodekan.

count
Int32

Jumlah byte yang akan didekodekan.

flush
Boolean

true untuk menyimulasikan pembersihan status internal encoder setelah perhitungan; jika tidak, false.

Mengembalikan

Jumlah karakter yang dihasilkan dengan mendekode urutan byte yang ditentukan dan byte apa pun dalam buffer internal.

Atribut

Pengecualian

bytes adalah null (Nothing).

index atau count kurang dari nol.

-atau-

index dan count tidak menunjukkan rentang yang valid dalam bytes.

Fallback terjadi (untuk informasi selengkapnya, lihat Pengodean Karakter di .NET)

-dan-

Fallback diatur ke DecoderExceptionFallback.

Keterangan

Metode ini tidak mempengaruhi status dekoder.

Untuk menghitung ukuran array yang tepat yang GetChars diperlukan untuk menyimpan karakter yang dihasilkan, aplikasi harus menggunakan GetCharCount.

Jika GetChars dipanggil dengan flush diatur ke false, dekoder menyimpan byte berikutnya di akhir blok data dalam buffer internal dan menggunakannya dalam operasi pendekodean berikutnya. Aplikasi harus memanggil GetCharCount blok data segera sebelum memanggil GetChars pada blok yang sama, sehingga byte berikutnya dari blok sebelumnya disertakan dalam perhitungan.

Lihat juga

Berlaku untuk