Udostępnij za pośrednictwem


Decoder.GetCharCount Metoda

Definicja

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów.

Przeciążenia

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów w przedziale. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu.

GetCharCount(Byte*, Int32, Boolean)

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów rozpoczynających się od określonego wskaźnika bajtów. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu.

GetCharCount(Byte[], Int32, Int32)

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.

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

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu.

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Źródło:
Decoder.cs
Źródło:
Decoder.cs
Źródło:
Decoder.cs

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów w przedziale. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu.

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

Parametry

bytes
ReadOnlySpan<Byte>

Zakres bajtów do dekodowania.

flush
Boolean

true zasymulować czyszczenie wewnętrznego stanu kodera po obliczeniu; w przeciwnym razie , false.

Zwraca

Liczba znaków generowanych przez dekodowanie określonej sekwencji bajtów i dowolnych bajtów w buforze wewnętrznym.

Uwagi

Ta metoda nie ma wpływu na stan dekodera.

Aby obliczyć dokładny rozmiar buforu, który GetChars wymaga przechowywania znaków wynikowych, aplikacja powinna używać polecenia GetCharCount.

Jeśli GetChars jest wywoływana z ustawioną wartością flushfalse, dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji dekodowania. Aplikacja powinna wywołać GetCharCount blok danych bezpośrednio przed wywołaniem GetChars tego samego bloku, aby wszystkie końcowe bajty z poprzedniego bloku były uwzględniane w obliczeniach.

Dotyczy

GetCharCount(Byte*, Int32, Boolean)

Źródło:
Decoder.cs
Źródło:
Decoder.cs
Źródło:
Decoder.cs

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów rozpoczynających się od określonego wskaźnika bajtów. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu.

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

Parametry

bytes
Byte*

Wskaźnik do pierwszego bajtu w celu dekodowania.

count
Int32

Liczba bajtów do dekodowania.

flush
Boolean

true zasymulować czyszczenie wewnętrznego stanu kodera po obliczeniu; w przeciwnym razie , false.

Zwraca

Liczba znaków generowanych przez dekodowanie określonej sekwencji bajtów i dowolnych bajtów w buforze wewnętrznym.

Atrybuty

Wyjątki

bytes is null (Nothing w visual basic .NET).

Parametr count ma wartość niższą niż zero.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

Fallback parametr jest ustawiony na DecoderExceptionFallbackwartość .

Uwagi

Ta metoda nie ma wpływu na stan dekodera.

Aby obliczyć dokładny rozmiar tablicy, który GetChars wymaga przechowywania znaków wynikowych, aplikacja powinna używać elementu GetCharCount.

Jeśli GetChars jest wywoływana z ustawioną wartością flushfalse, dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji dekodowania. Aplikacja powinna wywołać GetCharCount blok danych bezpośrednio przed wywołaniem GetChars tego samego bloku, aby wszystkie końcowe bajty z poprzedniego bloku były uwzględniane w obliczeniach.

Zobacz też

Dotyczy

GetCharCount(Byte[], Int32, Int32)

Źródło:
Decoder.cs
Źródło:
Decoder.cs
Źródło:
Decoder.cs

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.

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

Parametry

bytes
Byte[]

Tablica bajtów zawierająca sekwencję bajtów do dekodowania.

index
Int32

Indeks pierwszego bajtu do dekodowania.

count
Int32

Liczba bajtów do dekodowania.

Zwraca

Liczba znaków generowanych przez dekodowanie określonej sekwencji bajtów i dowolnych bajtów w buforze wewnętrznym.

Wyjątki

bytes is null (Nothing).

index wartość lub count jest mniejsza niż zero.

-lub-

index i count nie oznaczają prawidłowego zakresu w elemecie bytes.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

Fallback parametr jest ustawiony na DecoderExceptionFallbackwartość .

Przykłady

W poniższym przykładzie kodu pokazano, jak użyć GetCharCount metody do obliczenia liczby znaków wymaganych do dekodowania określonego zakresu bajtów w tablicy.

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.
'

Uwagi

Ta metoda nie ma wpływu na stan dekodera.

Aby obliczyć dokładny rozmiar tablicy, który GetChars wymaga przechowywania znaków wynikowych, aplikacja powinna używać elementu GetCharCount.

Jeśli GetChars jest wywoływana z ustawioną wartością flushfalse, dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji dekodowania. Aplikacja powinna wywołać GetCharCount blok danych bezpośrednio przed wywołaniem GetChars tego samego bloku, aby wszystkie końcowe bajty z poprzedniego bloku były uwzględniane w obliczeniach.

Zobacz też

Dotyczy

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

Źródło:
Decoder.cs
Źródło:
Decoder.cs
Źródło:
Decoder.cs

Podczas zastępowania w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu.

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

Parametry

bytes
Byte[]

Tablica bajtów zawierająca sekwencję bajtów do dekodowania.

index
Int32

Indeks pierwszego bajtu do dekodowania.

count
Int32

Liczba bajtów do dekodowania.

flush
Boolean

true zasymulować czyszczenie wewnętrznego stanu kodera po obliczeniu; w przeciwnym razie , false.

Zwraca

Liczba znaków generowanych przez dekodowanie określonej sekwencji bajtów i dowolnych bajtów w buforze wewnętrznym.

Atrybuty

Wyjątki

bytes is null (Nothing).

index wartość lub count jest mniejsza niż zero.

-lub-

index i count nie oznaczają prawidłowego zakresu w elemecie bytes.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

Fallback parametr jest ustawiony na DecoderExceptionFallbackwartość .

Uwagi

Ta metoda nie ma wpływu na stan dekodera.

Aby obliczyć dokładny rozmiar tablicy, który GetChars wymaga przechowywania znaków wynikowych, aplikacja powinna używać elementu GetCharCount.

Jeśli GetChars jest wywoływana z ustawioną wartością flushfalse, dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji dekodowania. Aplikacja powinna wywołać GetCharCount blok danych bezpośrednio przed wywołaniem GetChars tego samego bloku, aby wszystkie końcowe bajty z poprzedniego bloku były uwzględniane w obliczeniach.

Zobacz też

Dotyczy