ASCIIEncoding.GetCharCount Metoda

Definice

Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů.

Přetížení

Name Description
GetCharCount(Byte[], Int32, Int32)

Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného bajtového pole.

GetCharCount(Byte*, Int32)

Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů počínaje zadaným ukazatelem bajtu.

GetCharCount(Byte[], Int32, Int32)

Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného bajtového pole.

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[]

Bajtové pole obsahující posloupnost bajtů k dekódování.

index
Int32

Index prvního bajtu pro dekódování.

count
Int32

Počet bajtů, které se mají dekódovat.

Návraty

Počet znaků vytvořených dekódováním zadané sekvence bajtů.

Výjimky

bytes je null.

index nebo count je menší než nula.

nebo

index a count neoznamujte platný rozsah v bytes.

nebo

Výsledný počet bajtů je větší než maximální počet, který lze vrátit jako celé číslo.

Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).

a

DecoderFallback je nastaveno na DecoderExceptionFallback.

Příklady

Následující příklad ukazuje, jak použít metodu GetCharCount k vrácení počtu znaků vytvořených dekódováním rozsahu prvků v bajtovém poli.

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

Poznámky

K výpočtu přesné velikosti pole vyžadované GetChars k uložení výsledných znaků používá GetCharCountaplikace . K výpočtu maximální velikosti pole by aplikace měla použít GetMaxCharCount. Metoda GetCharCount obecně umožňuje přidělení menší paměti, zatímco GetMaxCharCount metoda obvykle provádí rychleji.

Viz také

Platí pro

GetCharCount(Byte*, Int32)

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Alternativa odpovídající specifikaci CLS
System.Text.ASCIIEncoding.GetCharCount(Byte[], Int32, Int32)

Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů počínaje zadaným ukazatelem bajtu.

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)]
[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)]
public override int GetCharCount(byte* bytes, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
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
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int

Parametry

bytes
Byte*

Ukazatel na první bajt pro dekódování.

count
Int32

Počet bajtů, které se mají dekódovat.

Návraty

Počet znaků vytvořených dekódováním zadané sekvence bajtů.

Atributy

Výjimky

bytes je null.

Hodnota count je menší než nula.

nebo

Výsledný počet bajtů je větší než maximální počet, který lze vrátit jako celé číslo.

Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).

a

DecoderFallback je nastaveno na DecoderExceptionFallback.

Poznámky

K výpočtu přesné velikosti pole vyžadované GetChars k uložení výsledných znaků používá GetCharCountaplikace . K výpočtu maximální velikosti pole by aplikace měla použít GetMaxCharCount. Metoda GetCharCount obecně umožňuje přidělení menší paměti, zatímco GetMaxCharCount metoda obvykle provádí rychleji.

Viz také

Platí pro