Decoder.GetCharCount Methode

Definition

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren einer Bytesequenz erzeugt werden.

Überlädt

Name Beschreibung
GetCharCount(ReadOnlySpan<Byte>, Boolean)

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren der Bytesequenz in der Spanne erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Berechnung gelöscht werden soll.

GetCharCount(Byte*, Int32, Boolean)

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren einer Bytesequenz erzeugt werden, beginnend mit dem angegebenen Bytezeiger. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Berechnung gelöscht werden soll.

GetCharCount(Byte[], Int32, Int32)

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden.

GetCharCount(Byte[], Int32, Int32, Boolean)

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Berechnung gelöscht werden soll.

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren der Bytesequenz in der Spanne erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Berechnung gelöscht werden soll.

public:
 virtual int GetCharCount(ReadOnlySpan<System::Byte> bytes, bool flush);
public virtual int GetCharCount(ReadOnlySpan<byte> bytes, bool flush);
abstract member GetCharCount : ReadOnlySpan<byte> * bool -> int
override this.GetCharCount : ReadOnlySpan<byte> * bool -> int
Public Overridable Function GetCharCount (bytes As ReadOnlySpan(Of Byte), flush As Boolean) As Integer

Parameter

bytes
ReadOnlySpan<Byte>

Eine Bytespanne zum Decodieren.

flush
Boolean

trueum das Löschen des internen Zustands des Encoders nach der Berechnung zu simulieren; andernfalls . false

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren der angegebenen Bytesequenz und aller Bytes im internen Puffer erzeugt werden.

Hinweise

Diese Methode wirkt sich nicht auf den Zustand des Decoders aus.

Um die genaue Puffergröße zu berechnen, GetChars die zum Speichern der resultierenden Zeichen erforderlich ist, sollte die Anwendung verwenden GetCharCount.

Wenn GetChars mit flush "Set" falseaufgerufen wird, speichert der Decoder nachgestellte Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte unmittelbar vor dem Aufrufen GetCharCount desselben Blocks einen Datenblock aufrufenGetChars, sodass alle nachgestellten Bytes aus dem vorherigen Block in die Berechnung einbezogen werden.

Gilt für:

GetCharCount(Byte*, Int32, Boolean)

Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren einer Bytesequenz erzeugt werden, beginnend mit dem angegebenen Bytezeiger. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Berechnung gelöscht werden soll.

public:
 virtual int GetCharCount(System::Byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
public virtual int GetCharCount(byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetCharCount(byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public virtual int GetCharCount(byte* bytes, int count, bool flush);
[<System.CLSCompliant(false)>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int

Parameter

bytes
Byte*

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

count
Int32

Die Anzahl der Bytes, die decodiert werden sollen.

flush
Boolean

trueum das Löschen des internen Zustands des Encoders nach der Berechnung zu simulieren; andernfalls . false

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren der angegebenen Bytesequenz und aller Bytes im internen Puffer erzeugt werden.

Attribute

Ausnahmen

bytes ist null (Nothing in Visual Basic .NET).

count ist kleiner als 0 (null).

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

-und-

Fallback ist auf DecoderExceptionFallback festgelegt.

Hinweise

Diese Methode wirkt sich nicht auf den Zustand des Decoders aus.

Um die genaue Arraygröße zu berechnen, die GetChars zum Speichern der resultierenden Zeichen erforderlich ist, sollte die Anwendung verwenden GetCharCount.

Wenn GetChars mit flush "Set" falseaufgerufen wird, speichert der Decoder nachgestellte Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte unmittelbar vor dem Aufrufen GetCharCount desselben Blocks einen Datenblock aufrufenGetChars, sodass alle nachgestellten Bytes aus dem vorherigen Block in die Berechnung einbezogen werden.

Weitere Informationen

Gilt für:

GetCharCount(Byte[], Int32, Int32)

Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden.

public:
 abstract int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public abstract int GetCharCount(byte[] bytes, int index, int count);
abstract member GetCharCount : byte[] * int * int -> int
Public MustOverride 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 und aller Bytes im internen Puffer erzeugt werden.

Ausnahmen

bytes ist null (Nothing).

index oder count ist kleiner als Null.

-oder-

index und count keinen gültigen Bereich in bytes.

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

-und-

Fallback ist auf DecoderExceptionFallback festgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die GetCharCount Methode verwendet wird, um die Anzahl der Zeichen zu berechnen, die zum Decodieren des angegebenen Bytebereichs im Array erforderlich sind.

using System;
using System.Text;

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

        Decoder uniDecoder = Encoding.Unicode.GetDecoder();
        int charCount = uniDecoder.GetCharCount(bytes, 0, bytes.Length);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}

/* This code example produces the following output.

7 characters needed to decode bytes.

*/
Imports System.Text

Class DecoderExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0 _
        }
        
        Dim uniDecoder As Decoder = Encoding.Unicode.GetDecoder()
        Dim charCount As Integer = uniDecoder.GetCharCount(bytes, 0, bytes.Length)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

'This code example produces the following output.
'
'7 characters needed to decode bytes.
'

Hinweise

Diese Methode wirkt sich nicht auf den Zustand des Decoders aus.

Um die genaue Arraygröße zu berechnen, die GetChars zum Speichern der resultierenden Zeichen erforderlich ist, sollte die Anwendung verwenden GetCharCount.

Wenn GetChars mit flush "Set" falseaufgerufen wird, speichert der Decoder nachgestellte Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte unmittelbar vor dem Aufrufen GetCharCount desselben Blocks einen Datenblock aufrufenGetChars, sodass alle nachgestellten Bytes aus dem vorherigen Block in die Berechnung einbezogen werden.

Weitere Informationen

Gilt für:

GetCharCount(Byte[], Int32, Int32, Boolean)

Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs
Quelle:
Decoder.cs

Wenn eine abgeleitete Klasse überschrieben wird, wird die Anzahl der Zeichen berechnet, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Berechnung gelöscht werden soll.

public:
 virtual int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count, bool flush);
public virtual int GetCharCount(byte[] bytes, int index, int count, bool flush);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetCharCount(byte[] bytes, int index, int count, bool flush);
abstract member GetCharCount : byte[] * int * int * bool -> int
override this.GetCharCount : byte[] * int * int * bool -> int
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetCharCount : byte[] * int * int * bool -> int
override this.GetCharCount : byte[] * int * int * bool -> int
Public Overridable Function GetCharCount (bytes As Byte(), index As Integer, count As Integer, flush As Boolean) 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.

flush
Boolean

trueum das Löschen des internen Zustands des Encoders nach der Berechnung zu simulieren; andernfalls . false

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren der angegebenen Bytesequenz und aller Bytes im internen Puffer erzeugt werden.

Attribute

Ausnahmen

bytes ist null (Nothing).

index oder count ist kleiner als Null.

-oder-

index und count keinen gültigen Bereich in bytes.

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

-und-

Fallback ist auf DecoderExceptionFallback festgelegt.

Hinweise

Diese Methode wirkt sich nicht auf den Zustand des Decoders aus.

Um die genaue Arraygröße zu berechnen, die GetChars zum Speichern der resultierenden Zeichen erforderlich ist, sollte die Anwendung verwenden GetCharCount.

Wenn GetChars mit flush "Set" falseaufgerufen wird, speichert der Decoder nachgestellte Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte unmittelbar vor dem Aufrufen GetCharCount desselben Blocks einen Datenblock aufrufenGetChars, sodass alle nachgestellten Bytes aus dem vorherigen Block in die Berechnung einbezogen werden.

Weitere Informationen

Gilt für: