UTF7Encoding.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(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 is null ( Nothing ).bytes is null (Nothing).

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 znaków jest większa niż maksymalna liczba, którą można zwrócić jako int.The resulting number of characters is greater than the maximum number that can be returned as an int.

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 kodu demonstruje sposób użycia GetCharCount metody do zwrócenia liczby znaków wytworzonych przez dekodowanie zakresu elementów w tablicy bajtów.The following code 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 = {85,0,110,0,105,0,99,0,111,0,100,0,101,0};
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int charCount = Unicode->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}

using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

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

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = {85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0}
        
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = uni.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 wyników, użyj GetCharCount .To calculate the exact array size required by GetChars to store the resulting characters, use 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.

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 is null ( Nothing ).bytes is null (Nothing).

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

-lub--or- Wynikowa liczba znaków jest większa niż maksymalna liczba, którą można zwrócić jako int.The resulting number of characters is greater than the maximum number that can be returned as an int.

Wystąpiła rezerwa (zobacz kodowanie znaków w programie .NET , aby uzyskać pełne wyjaśnienie).A fallback occurred (see Character Encoding in .NET for fuller explanation).

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, użyj GetCharCount .To calculate the exact array size required by GetChars to store the resulting characters, use 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