ASCIIEncoding.GetCharCount Metoda

Definicja

Oblicza liczbę znaków wytworzonych przez dekodowanie sekwencji bajtów.Calculates the number of characters produced by decoding a sequence of bytes.

Przeciążenia

GetCharCount(Byte[], Int32, Int32)

Oblicza liczbę znaków wytworzonych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(Byte*, Int32)

Oblicza liczbę znaków wytworzonych przez dekodowanie sekwencji bajtów, zaczynając od określonego wskaźnika bajtu.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

GetCharCount(ReadOnlySpan<Byte>)

Oblicza liczbę znaków wytworzonych przez dekodowanie określonego zakresu bajtów.Calculates the number of characters produced by decoding the specified byte span.

GetCharCount(Byte[], Int32, Int32)

Oblicza liczbę znaków wytworzonych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

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 bajtowa zawierająca sekwencję bajtów do zdekodowania.The byte array containing the sequence of bytes to decode.

index
Int32

Indeks pierwszego bajtu do zdekodowania.The index of the first byte to decode.

count
Int32

Liczba bajtów do zdekodowania.The number of bytes to decode.

Zwraca

Int32

Liczba znaków wytworzonych przez odkodowanie określonej sekwencji bajtów.The number of characters produced by decoding the specified sequence of bytes.

Wyjątki

bytes to null.bytes is null.

index lub count jest mniejsza od zera.index or count is less than zero.

-lub--or- index i count nie należy zauważyć prawidłowego zakresu w bytes .index and count do not denote a valid range in bytes.

-lub--or- Wynikowa liczba bajtów jest większa niż maksymalna liczba, która może zostać zwrócona jako liczba całkowita.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Wystąpiła rezerwa (Aby uzyskać więcej informacji, zobacz kodowanie znaków w programie .NET).A fallback occurred (for more information, see Character Encoding in .NET) lub-and- DecoderFallback jest ustawiony na DecoderExceptionFallback .DecoderFallback is set to DecoderExceptionFallback.

Przykłady

Poniższy przykład ilustruje sposób użycia GetCharCount metody do zwrócenia liczby znaków generowanych przez dekodowanie zakresu elementów w tablicy bajtów.The following example demonstrates how to use the GetCharCount method to return the number of characters produced by decoding a range of elements in a byte array.

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 wyników, aplikacja używa GetCharCount .To calculate the exact array size required by GetChars to store the resulting characters, the application uses GetCharCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać GetMaxCharCount .To calculate the maximum array size, the application should use GetMaxCharCount. GetCharCountMetoda ogólnie zezwala na przydzielanie mniejszej ilości pamięci, podczas gdy GetMaxCharCount metoda zazwyczaj wykonuje się szybciej.The GetCharCount method generally allows allocation of less memory, while the GetMaxCharCount method generally executes faster.

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 wytworzonych przez dekodowanie sekwencji bajtów, zaczynając od określonego wskaźnika bajtu.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

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);
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
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 do zdekodowania.A pointer to the first byte to decode.

count
Int32

Liczba bajtów do zdekodowania.The number of bytes to decode.

Zwraca

Int32

Liczba znaków wytworzonych przez odkodowanie określonej sekwencji bajtów.The number of characters produced by decoding the specified sequence of bytes.

Atrybuty

Wyjątki

bytes to null.bytes is null.

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

-lub--or- Wynikowa liczba bajtów jest większa niż maksymalna liczba, która może zostać zwrócona jako liczba całkowita.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Wystąpiła rezerwa (Aby uzyskać więcej informacji, zobacz kodowanie znaków w programie .NET).A fallback occurred (for more information, see Character Encoding in .NET) lub-and- DecoderFallback jest ustawiony na DecoderExceptionFallback .DecoderFallback is set to DecoderExceptionFallback.

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetChars program do przechowywania wyników, aplikacja używa GetCharCount .To calculate the exact array size required by GetChars to store the resulting characters, the application uses GetCharCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać GetMaxCharCount .To calculate the maximum array size, the application should use GetMaxCharCount. GetCharCountMetoda ogólnie zezwala na przydzielanie mniejszej ilości pamięci, podczas gdy GetMaxCharCount metoda zazwyczaj wykonuje się szybciej.The GetCharCount method generally allows allocation of less memory, while the GetMaxCharCount method generally executes faster.

Zobacz też

Dotyczy

GetCharCount(ReadOnlySpan<Byte>)

Oblicza liczbę znaków wytworzonych przez dekodowanie określonego zakresu bajtów.Calculates the number of characters produced by decoding the specified byte span.

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 zdekodowania.The span containing the set of bytes to decode.

Zwraca

Int32

Liczba znaków wytworzonych przez dekodowanie określonego zakresu bajtów.The number of characters produced by decoding the specified byte span.

Uwagi

Aby obliczyć dokładny rozmiar wymagany przez GetChars program do przechowywania wyników, użyj GetCharCount .To calculate the exact size required by GetChars to store the resulting characters, use GetCharCount. Aby obliczyć maksymalny rozmiar, użyj GetMaxCharCount .To calculate the maximum size, use GetMaxCharCount. GetCharCountMetoda ogólnie zezwala na przydzielanie mniejszej ilości pamięci, podczas gdy GetMaxCharCount metoda zazwyczaj wykonuje się szybciej.The GetCharCount method generally allows allocation of less memory, while the GetMaxCharCount method generally executes faster.

Dotyczy