Freigeben über


ASCIIEncoding.GetCharCount Methode

Definition

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz erzeugt werden.

Überlädt

GetCharCount(Byte*, Int32)

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz erzeugt werden, beginnend mit dem angegebenen Bytezeiger.

GetCharCount(Byte[], Int32, Int32)

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden.

GetCharCount(ReadOnlySpan<Byte>)

Berechnet die Anzahl der Zeichen, die durch Decodieren des angegebenen Bytebereichs erzeugt werden.

GetCharCount(Byte*, Int32)

Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Text.ASCIIEncoding.GetCharCount(Byte[], Int32, Int32)

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz erzeugt werden, beginnend mit dem angegebenen Bytezeiger.

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

Parameter

bytes
Byte*

Ein Zeiger auf das erste Byte, das decodiert werden soll.

count
Int32

Die Anzahl der Bytes, die decodiert werden sollen.

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren der angegebenen Bytesequenz erzeugt werden.

Attribute

Ausnahmen

bytes ist null.

count ist kleiner als Null.

-oder-

Die resultierende Anzahl von Bytes ist größer als die maximale Zahl, die als ganze Zahl zurückgegeben werden kann.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET)

-und-

DecoderFallback ist auf DecoderExceptionFallbackfestgelegt.

Hinweise

Um die genaue Arraygröße zu berechnen, die von GetChars zum Speichern der resultierenden Zeichen benötigt wird, verwendet die Anwendung GetCharCount. Um die maximale Arraygröße zu berechnen, sollte die Anwendung GetMaxCharCountverwenden. Die GetCharCount-Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für:

GetCharCount(Byte[], Int32, Int32)

Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden.

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

Parameter

bytes
Byte[]

Das Bytearray, das die Abfolge von Bytes enthält, die decodiert werden sollen.

index
Int32

Der Index des ersten zu decodierenden Bytes.

count
Int32

Die Anzahl der Bytes, die decodiert werden sollen.

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren der angegebenen Bytesequenz erzeugt werden.

Ausnahmen

bytes ist null.

index oder count ist kleiner als Null.

-oder-

index und count geben in byteskeinen gültigen Bereich an.

-oder-

Die resultierende Anzahl von Bytes ist größer als die maximale Zahl, die als ganze Zahl zurückgegeben werden kann.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET)

-und-

DecoderFallback ist auf DecoderExceptionFallbackfestgelegt.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die GetCharCount-Methode verwendet wird, um die Anzahl von Zeichen zurückzugeben, die durch Decodieren eines Bereichs von Elementen in einem Bytearray erzeugt werden.

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

Hinweise

Um die genaue Arraygröße zu berechnen, die von GetChars zum Speichern der resultierenden Zeichen benötigt wird, verwendet die Anwendung GetCharCount. Um die maximale Arraygröße zu berechnen, sollte die Anwendung GetMaxCharCountverwenden. Die GetCharCount-Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für:

GetCharCount(ReadOnlySpan<Byte>)

Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs

Berechnet die Anzahl der Zeichen, die durch Decodieren des angegebenen Bytebereichs erzeugt werden.

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

Parameter

bytes
ReadOnlySpan<Byte>

Die Spanne, die den zu decodierenden Bytesatz enthält.

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren des angegebenen Bytebereichs erzeugt werden.

Hinweise

Um die genaue Größe zu berechnen, die von GetChars zum Speichern der resultierenden Zeichen erforderlich ist, verwenden Sie GetCharCount. Verwenden Sie GetMaxCharCount, um die maximale Größe zu berechnen. Die GetCharCount-Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Gilt für: