Decoder.GetCharCount Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge erzeugt werden.
Überlädt
GetCharCount(ReadOnlySpan<Byte>, Boolean) |
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren der Bytefolge in der Spanne erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Kalkulation gelöscht werden soll. |
GetCharCount(Byte*, Int32, Boolean) |
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Kalkulation gelöscht werden soll. |
GetCharCount(Byte[], Int32, Int32) |
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden. |
GetCharCount(Byte[], Int32, Int32, Boolean) |
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Kalkulation gelöscht werden soll. |
GetCharCount(ReadOnlySpan<Byte>, Boolean)
- Quelle:
- Decoder.cs
- Quelle:
- Decoder.cs
- Quelle:
- Decoder.cs
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren der Bytefolge in der Spanne erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Kalkulation 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 zu decodierende Bytespanne.
- flush
- Boolean
true
, um das Löschen des internen Status des Encoders nach der Berechnung zu simulieren, andernfalls false
.
Gibt zurück
Die Anzahl der Zeichen, die beim Decodieren der angegebenen Bytesequenz erzeugt werden, und jeglicher Bytes im internen Puffer.
Hinweise
Diese Methode wirkt sich nicht auf den Status des Decoders aus.
Um die genaue Puffergröße zu berechnen, die GetChars zum Speichern der resultierenden Zeichen erforderlich ist, sollte die Anwendung verwenden GetCharCount.
Wenn GetChars
aufgerufen wird und flush
auf false
festgelegt ist, speichert der Decoder nachfolgende Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte einen Datenblock unmittelbar vor dem Aufrufen GetChars
desselben Blocks aufrufenGetCharCount
, damit 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
Wichtig
Diese API ist nicht CLS-kompatibel.
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Kalkulation 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 zu decodierende Byte.
- count
- Int32
Die Anzahl der zu decodierenden Bytes.
- flush
- Boolean
true
, um das Löschen des internen Status des Encoders nach der Berechnung zu simulieren, andernfalls false
.
Gibt zurück
Die Anzahl der Zeichen, die beim Decodieren der angegebenen Bytesequenz erzeugt werden, und jeglicher Bytes im internen Puffer.
- Attribute
Ausnahmen
bytes
ist null
(Nothing
in Visual Basic .NET).
count
ist kleiner als Null.
Es ist ein Fallback aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET).
- und -
Für Fallback ist DecoderExceptionFallback festgelegt.
Hinweise
Diese Methode wirkt sich nicht auf den Status 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
aufgerufen wird und flush
auf false
festgelegt ist, speichert der Decoder nachfolgende Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte einen Datenblock unmittelbar vor dem Aufrufen GetChars
desselben Blocks aufrufenGetCharCount
, damit 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
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge 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 zu decodierende Bytefolge enthält.
- index
- Int32
Der Index des ersten zu decodierenden Bytes.
- count
- Int32
Die Anzahl der zu decodierenden Bytes.
Gibt zurück
Die Anzahl der Zeichen, die beim Decodieren der angegebenen Bytesequenz erzeugt werden, und jeglicher Bytes im internen Puffer.
Ausnahmen
bytes
ist null
(Nothing
).
index
oder count
ist kleiner als 0.
- oder -
index
und count
geben keinen gültigen Bereich in bytes
an.
Es ist ein Fallback aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET).
- und -
Für Fallback ist 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 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};
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.
*/
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 Status 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
aufgerufen wird und flush
auf false
festgelegt ist, speichert der Decoder nachfolgende Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte einen Datenblock unmittelbar vor dem Aufrufen GetChars
desselben Blocks aufrufenGetCharCount
, damit 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
Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden. Ein Parameter gibt an, ob der interne Zustand des Decoders nach der Kalkulation 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 zu decodierende Bytefolge enthält.
- index
- Int32
Der Index des ersten zu decodierenden Bytes.
- count
- Int32
Die Anzahl der zu decodierenden Bytes.
- flush
- Boolean
true
, um das Löschen des internen Status des Encoders nach der Berechnung zu simulieren, andernfalls false
.
Gibt zurück
Die Anzahl der Zeichen, die beim Decodieren der angegebenen Bytesequenz erzeugt werden, und jeglicher Bytes im internen Puffer.
- Attribute
Ausnahmen
bytes
ist null
(Nothing
).
index
oder count
ist kleiner als 0.
- oder -
index
und count
geben keinen gültigen Bereich in bytes
an.
Es ist ein Fallback aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET).
- und -
Für Fallback ist DecoderExceptionFallback festgelegt.
Hinweise
Diese Methode wirkt sich nicht auf den Status 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
aufgerufen wird und flush
auf false
festgelegt ist, speichert der Decoder nachfolgende Bytes am Ende des Datenblocks in einem internen Puffer und verwendet sie im nächsten Decodierungsvorgang. Die Anwendung sollte einen Datenblock unmittelbar vor dem Aufrufen GetChars
desselben Blocks aufrufenGetCharCount
, damit alle nachgestellten Bytes aus dem vorherigen Block in die Berechnung einbezogen werden.