Teilen über


UTF8Encoding.GetCharCount Methode

Definition

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge erzeugt werden.

Überlädt

GetCharCount(Byte[], Int32, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden.

GetCharCount(Byte*, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden.

GetCharCount(ReadOnlySpan<Byte>)

Berechnet die Anzahl von Zeichen, die beim Decodieren des angegebenen Bytebereichs erzeugt werden.

GetCharCount(Byte[], Int32, Int32)

Quelle:
UTF8Encoding.cs
Quelle:
UTF8Encoding.cs
Quelle:
UTF8Encoding.cs

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge 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 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 Bytefolge erzeugt werden.

Ausnahmen

bytes ist null.

index oder count ist kleiner als 0.

- oder -

index und count geben keinen gültigen Bereich in bytesan.

- oder -

Die sich ergebende Anzahl von Bytes ist höher als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.

Die Fehlererkennung ist aktiviert, und bytes enthält eine ungültige Folge von Bytes.

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

- und -

Für DecoderFallback ist DecoderExceptionFallback festgelegt.

Beispiele

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

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,84,70,56,32,69,110,99,111,100,105,110,103,32,69,120,97,109,112,108,101};
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   int charCount = utf8->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
             85,  84,  70,  56,  32,  69, 110,
             99, 111, 100, 105, 110, 103,  32,
             69, 120,  97, 109, 112, 108, 101
        };

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

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85,  84,  70,  56,  32,  69, 110, _
            99, 111, 100, 105, 110, 103,  32, _
            69, 120,  97, 109, 112, 108, 101 _
        }
        
        Dim utf8 As New UTF8Encoding()
        Dim charCount As Integer = utf8.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Hinweise

Rufen GetCharCount Sie die -Methode auf, um die genaue Arraygröße zu berechnen, die für GetChars das Speichern der resultierenden Zeichen erforderlich ist. Um die maximale Array Größe zu berechnen, müssen Sie die-Methode aufzurufen GetMaxCharCount . Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Bei der Fehlererkennung bewirkt eine ungültige Sequenz, dass diese Methode eine ArgumentException Ausnahme auslöst. Ohne Fehlererkennung werden ungültige Sequenzen ignoriert, und es wird keine Ausnahme ausgelöst.

Weitere Informationen

Gilt für:

GetCharCount(Byte*, Int32)

Quelle:
UTF8Encoding.cs
Quelle:
UTF8Encoding.cs
Quelle:
UTF8Encoding.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden.

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 zu decodierende Byte.

count
Int32

Die Anzahl der zu decodierenden Bytes.

Gibt zurück

Die Anzahl der Zeichen, die beim Decodieren der angegebenen Bytefolge erzeugt werden.

Attribute

Ausnahmen

bytes ist null.

count ist kleiner als Null.

- oder -

Die sich ergebende Anzahl von Bytes ist höher als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.

Die Fehlererkennung ist aktiviert, und bytes enthält eine ungültige Folge von Bytes.

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

- und -

Für DecoderFallback ist DecoderExceptionFallback festgelegt.

Hinweise

Rufen GetCharCount Sie die -Methode auf, um die genaue Arraygröße zu berechnen, die für GetChars das Speichern der resultierenden Zeichen erforderlich ist. Um die maximale Array Größe zu berechnen, müssen Sie die-Methode aufzurufen GetMaxCharCount . Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Bei der Fehlererkennung bewirkt eine ungültige Sequenz, dass diese Methode eine ArgumentException Ausnahme auslöst. Ohne Fehlererkennung werden ungültige Sequenzen ignoriert, und es wird keine Ausnahme ausgelöst.

Weitere Informationen

Gilt für:

GetCharCount(ReadOnlySpan<Byte>)

Quelle:
UTF8Encoding.cs
Quelle:
UTF8Encoding.cs
Quelle:
UTF8Encoding.cs

Berechnet die Anzahl von Zeichen, die beim 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>

Der Bereich, der die zu decodierenden Bytes enthält.

Gibt zurück

Die Anzahl von Zeichen, die beim Decodieren des angegebenen Bytebereichs erzeugt werden.

Hinweise

Um die genaue Größe zu berechnen, die für GetChars das Speichern der resultierenden Zeichen erforderlich ist, rufen Sie die -Methode auf GetCharCount . Rufen Sie die -Methode auf, um die GetMaxCharCount maximale Größe zu berechnen. Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Bei der Fehlererkennung bewirkt eine ungültige Sequenz, dass diese Methode eine ArgumentException Ausnahme auslöst. Ohne Fehlererkennung werden ungültige Sequenzen ignoriert, und es wird keine Ausnahme ausgelöst.

Gilt für: