ASCIIEncoding.GetCharCount Metoda

Definicja

Oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów.

Przeciążenia

GetCharCount(Byte[], Int32, Int32)

Oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.

GetCharCount(Byte*, Int32)

Oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów rozpoczynających się od określonego wskaźnika bajtów.

GetCharCount(ReadOnlySpan<Byte>)

Oblicza liczbę znaków generowanych przez dekodowanie określonego zakresu bajtów.

GetCharCount(Byte[], Int32, Int32)

Oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.

public:
 override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount (byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides 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

Int32

Liczba znaków generowanych przez dekodowanie określonej sekwencji bajtów.

Wyjątki

bytes to null.

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

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

-lub- Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę całkowitą.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET) -i- DecoderFallback parametr jest ustawiony na DecoderExceptionFallbackwartość .

Przykłady

W poniższym przykładzie pokazano, jak za pomocą GetCharCount metody zwracać liczbę znaków generowanych przez dekodowanie zakresu elementów w tablicy bajtów.

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {65,83,67,73,73,32,69,110,99,111,100,105,110,103,32,69,120,97,109,112,108,101};
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int charCount = ascii->GetCharCount( bytes, 6, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
             65,  83,  67,  73,  73,  32,  69,
            110,  99, 111, 100, 105, 110, 103,
             32,  69, 120,  97, 109, 112, 108, 101
        };

        ASCIIEncoding ascii = new ASCIIEncoding();
        int charCount = ascii.GetCharCount(bytes, 6, 8);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
             65,  83,  67,  73,  73,  32,  69, _
            110,  99, 111, 100, 105, 110, 103, _
             32,  69, 120,  97, 109, 112, 108, 101}
      
        Dim ascii As New ASCIIEncoding()
        Dim charCount As Integer = ascii.GetCharCount(bytes, 6, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetChars program do przechowywania znaków wynikowych, aplikacja używa elementu GetCharCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać polecenia GetMaxCharCount. Metoda GetCharCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxCharCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy

GetCharCount(Byte*, Int32)

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Alternatywa zgodna ze specyfikacją CLS
System.Text.ASCIIEncoding.GetCharCount(Byte[], Int32, Int32)

Oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów rozpoczynających się od określonego wskaźnika bajtów.

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

Parametry

bytes
Byte*

Wskaźnik do pierwszego bajtu w celu dekodowania.

count
Int32

Liczba bajtów do dekodowania.

Zwraca

Int32

Liczba znaków generowanych przez dekodowanie określonej sekwencji bajtów.

Atrybuty

Wyjątki

bytes to null.

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

-lub- Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę całkowitą.

Wystąpił rezerwowy (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET) -and- DecoderFallback jest ustawiona na DecoderExceptionFallbackwartość .

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetChars do przechowywania wynikowych znaków, aplikacja używa polecenia GetCharCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna użyć polecenia GetMaxCharCount. Metoda GetCharCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxCharCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy

GetCharCount(ReadOnlySpan<Byte>)

Oblicza liczbę znaków generowanych przez dekodowanie określonego zakresu bajtów.

public:
 override int GetCharCount(ReadOnlySpan<System::Byte> bytes);
public override int GetCharCount (ReadOnlySpan<byte> bytes);
override this.GetCharCount : ReadOnlySpan<byte> -> int
Public Overrides Function GetCharCount (bytes As ReadOnlySpan(Of Byte)) As Integer

Parametry

bytes
ReadOnlySpan<Byte>

Zakres zawierający zestaw bajtów do dekodowania.

Zwraca

Int32

Liczba znaków generowanych przez dekodowanie określonego zakresu bajtów.

Uwagi

Aby obliczyć dokładny rozmiar wymagany przez GetChars do przechowywania wynikowych znaków, użyj polecenia GetCharCount. Aby obliczyć maksymalny rozmiar, użyj polecenia GetMaxCharCount. Metoda GetCharCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxCharCount metoda zwykle wykonuje się szybciej.

Dotyczy