Decoder.GetCharCount Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
W przypadku przesłonięć w klasie pochodnej program oblicza liczbę znaków pochodzących z dekodowania sekwencji bajtów.
Przeciążenia
GetCharCount(ReadOnlySpan<Byte>, Boolean) |
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania sekwencji bajtów w span. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu. |
GetCharCount(Byte*, Int32, Boolean) |
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania sekwencji bajtów rozpoczynającej się od określonego wskaźnika bajtów. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu. |
GetCharCount(Byte[], Int32, Int32) |
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania sekwencji bajtów z określonej tablicy bajtów. |
GetCharCount(Byte[], Int32, Int32, Boolean) |
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania sekwencji bajtów z określonej tablicy bajtów. Parametr wskazuje, czy wyczyścić stan wewnętrzny dekodera po obliczeniu. |
GetCharCount(ReadOnlySpan<Byte>, Boolean)
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania sekwencji bajtów w span. 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
symulowanie czyszczenia stanu wewnętrznego kodera po obliczeniu; w przeciwnym false
razie .
Zwraca
Liczba znaków wytwarzanych przez dekodowanie określonej sekwencji bajtów i bajtów w buforze wewnętrznym.
Uwagi
Ta metoda nie ma wpływu na stan dekodera.
Aby obliczyć dokładny rozmiar buforu, GetChars który wymaga przechowywania wynikowych znaków, aplikacja powinna użyć . GetCharCount
Jeśli zostanie wywołana z ustawioną na , dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji GetChars
flush
false
dekodowania. Aplikacja powinna wywołać dla bloku danych bezpośrednio przed wywołaniem w tym samym bloku, tak aby wszystkie końcowe bajty z poprzedniego bloku zostały uwzględnione GetCharCount
GetChars
w obliczeniach.
Dotyczy
GetCharCount(Byte*, Int32, Boolean)
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania sekwencji bajtów rozpoczynającej 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);
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
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 do dekodowania.
- count
- Int32
Liczba bajtów do odkodowania.
- flush
- Boolean
true
symulowanie czyszczenia stanu wewnętrznego kodera po obliczeniu; w przeciwnym false
razie .
Zwraca
Liczba znaków wytwarzanych przez dekodowanie określonej sekwencji bajtów i bajtów w buforze wewnętrznym.
- Atrybuty
Wyjątki
bytes
to null
( w Visual Basic Nothing
.NET).
Parametr count
ma wartość niższą niż zero.
Wystąpił rezerwowy błąd (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)
-and-
Fallback Jest ustawiona na DecoderExceptionFallback wartość .
Uwagi
Ta metoda nie ma wpływu na stan dekodera.
Aby obliczyć dokładny rozmiar tablicy, GetChars który wymaga przechowywania wynikowych znaków, aplikacja powinna użyć . GetCharCount
Jeśli zostanie wywołana z ustawioną na , dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji GetChars
flush
false
dekodowania. Aplikacja powinna wywołać dla bloku danych bezpośrednio przed wywołaniem w tym samym bloku, tak aby wszystkie końcowe bajty z poprzedniego bloku zostały uwzględnione GetCharCount
GetChars
w obliczeniach.
Zobacz też
Dotyczy
GetCharCount(Byte[], Int32, Int32)
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania 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 odkodowania.
- count
- Int32
Liczba bajtów do odkodowania.
Zwraca
Liczba znaków wytwarzanych przez dekodowanie określonej sekwencji bajtów i bajtów w buforze wewnętrznym.
Wyjątki
bytes
to null
( Nothing
).
index
wartość count
lub jest mniejsza niż zero.
-lub-
index
i count
nie oznaczają prawidłowego zakresu w bytes
.
Wystąpił rezerwowy błąd (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)
-and-
Fallback Jest ustawiona na DecoderExceptionFallback wartość .
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą metody obliczyć liczbę znaków wymaganą do dekodowania określonego zakresu GetCharCount 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, GetChars który wymaga przechowywania wynikowych znaków, aplikacja powinna użyć . GetCharCount
Jeśli zostanie wywołana z ustawioną na , dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji GetChars
flush
false
dekodowania. Aplikacja powinna wywołać dla bloku danych bezpośrednio przed wywołaniem w tym samym bloku, tak aby wszystkie końcowe bajty z poprzedniego bloku zostały uwzględnione GetCharCount
GetChars
w obliczeniach.
Zobacz też
Dotyczy
GetCharCount(Byte[], Int32, Int32, Boolean)
W przypadku przesłonięć w klasie pochodnej oblicza liczbę znaków pochodzących z dekodowania 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 odkodowania.
- count
- Int32
Liczba bajtów do odkodowania.
- flush
- Boolean
true
symulowanie czyszczenia stanu wewnętrznego kodera po obliczeniu; w przeciwnym false
razie .
Zwraca
Liczba znaków wytwarzanych przez dekodowanie określonej sekwencji bajtów i bajtów w buforze wewnętrznym.
- Atrybuty
Wyjątki
bytes
to null
( Nothing
).
index
wartość count
lub jest mniejsza niż zero.
-lub-
index
i count
nie oznaczają prawidłowego zakresu w bytes
.
Wystąpił rezerwowy błąd (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)
-and-
Fallback Jest ustawiona na DecoderExceptionFallback wartość .
Uwagi
Ta metoda nie ma wpływu na stan dekodera.
Aby obliczyć dokładny rozmiar tablicy, GetChars który wymaga przechowywania wynikowych znaków, aplikacja powinna użyć . GetCharCount
Jeśli zostanie wywołana z ustawioną na , dekoder przechowuje końcowe bajty na końcu bloku danych w buforze wewnętrznym i używa ich w następnej operacji GetChars
flush
false
dekodowania. Aplikacja powinna wywołać dla bloku danych bezpośrednio przed wywołaniem w tym samym bloku, tak aby wszystkie końcowe bajty z poprzedniego bloku zostały uwzględnione GetCharCount
GetChars
w obliczeniach.