Udostępnij za pośrednictwem


UTF8Encoding.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)

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

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

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

Wykrywanie błędów jest włączone i bytes zawiera nieprawidłową sekwencję bajtów.

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 użyto GetCharCount metody , aby zwrócić 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 = {85,84,70,56,32,69,110,99,111,100,105,110,103,32,69,120,97,109,112,108,101};
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   int charCount = utf8->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
             85,  84,  70,  56,  32,  69, 110,
             99, 111, 100, 105, 110, 103,  32,
             69, 120,  97, 109, 112, 108, 101
        };

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

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85,  84,  70,  56,  32,  69, 110, _
            99, 111, 100, 105, 110, 103,  32, _
            69, 120,  97, 109, 112, 108, 101 _
        }
        
        Dim utf8 As New UTF8Encoding()
        Dim charCount As Integer = utf8.GetCharCount(bytes, 2, 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, wywołaj metodę GetCharCount . Aby obliczyć maksymalny rozmiar tablicy, wywołaj metodę GetMaxCharCount . Metoda GetCharCount zwykle przydziela mniej pamięci, podczas gdy GetMaxCharCount metoda zwykle wykonuje się szybciej.

W przypadku wykrywania błędów nieprawidłowa sekwencja powoduje, że ta metoda zgłasza ArgumentException wyjątek. Bez wykrywania błędów nieprawidłowe sekwencje są ignorowane i nie jest zgłaszany żaden wyjątek.

Zobacz też

Dotyczy

GetCharCount(Byte*, Int32)

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

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

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

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

Wykrywanie błędów jest włączone i bytes zawiera nieprawidłową sekwencję bajtów.

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

-I-

DecoderFallback parametr jest ustawiony na DecoderExceptionFallbackwartość .

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetChars program do przechowywania znaków wynikowych, wywołaj metodę GetCharCount . Aby obliczyć maksymalny rozmiar tablicy, wywołaj metodę GetMaxCharCount . Metoda GetCharCount zwykle przydziela mniej pamięci, podczas gdy GetMaxCharCount metoda zwykle wykonuje się szybciej.

W przypadku wykrywania błędów nieprawidłowa sekwencja powoduje, że ta metoda zgłasza ArgumentException wyjątek. Bez wykrywania błędów nieprawidłowe sekwencje są ignorowane i nie jest zgłaszany żaden wyjątek.

Zobacz też

Dotyczy

GetCharCount(ReadOnlySpan<Byte>)

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

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

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

Uwagi

Aby obliczyć dokładny rozmiar wymagany przez GetChars program do przechowywania znaków wynikowych, wywołaj metodę GetCharCount . Aby obliczyć maksymalny rozmiar, wywołaj metodę GetMaxCharCount . Metoda GetCharCount zwykle przydziela mniej pamięci, podczas gdy GetMaxCharCount metoda zwykle wykonuje się szybciej.

W przypadku wykrywania błędów nieprawidłowa sekwencja powoduje, że ta metoda zgłasza ArgumentException wyjątek. Bez wykrywania błędów nieprawidłowe sekwencje są ignorowane i nie jest zgłaszany żaden wyjątek.

Dotyczy