UTF8Encoding.GetCharCount Methode

Definition

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge erzeugt werden.Calculates the number of characters produced by decoding a sequence of bytes.

Überlädt

GetCharCount(Byte[], Int32, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(ReadOnlySpan<Byte>)

Berechnet die Anzahl von Zeichen, die beim Decodieren des angegebenen Bytebereichs erzeugt werden.Calculates the number of characters produced by decoding the specified byte span.

GetCharCount(Byte*, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

GetCharCount(Byte[], Int32, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

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.The byte array containing the sequence of bytes to decode.

index
Int32

Der Index des ersten zu decodierenden Bytes.The index of the first byte to decode.

count
Int32

Die Anzahl der zu decodierenden Bytes.The number of bytes to decode.

Gibt zurück

Die Anzahl der Zeichen, die beim Decodieren der angegebenen Bytefolge erzeugt werden.The number of characters produced by decoding the specified sequence of bytes.

Ausnahmen

bytes ist null.bytes is null.

index oder count ist kleiner als 0.index or count is less than zero.

- oder --or- index und count geben keinen gültigen Bereich in bytesan.index and count do not denote a valid range in bytes.

- oder --or- Die daraus resultierende Byteanzahl ist größer als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Die Fehlererkennung ist aktiviert, und bytes enthält eine ungültige Folge von Bytes.Error detection is enabled, and bytes contains an invalid sequence of bytes.

Es ist ein Fallback aufgetreten (eine ausführliche Erläuterung finden Sie unter Zeichencodierung in .NET Framework).A fallback occurred (see Character Encoding in the .NET Framework for complete explanation) - und --and- Für DecoderFallback ist DecoderExceptionFallback festgelegt.DecoderFallback is set to DecoderExceptionFallback.

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.The following example uses the GetCharCount method to return the number of characters produced by decoding a range of elements in a byte array.

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

Um die genaue Array Größe GetChars zu berechnen, die zum Speichern der resultierenden Zeichen erforderlich ist, müssen Sie die GetCharCount -Methode aufzurufen.To calculate the exact array size required by GetChars to store the resulting characters, call the GetCharCount method. Um die maximale Array Größe zu berechnen, müssen GetMaxCharCount Sie die-Methode aufzurufen.To calculate the maximum array size, call the GetMaxCharCount method. Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu GetMaxCharCount , während die-Methode im Allgemeinen schneller ausgeführt wird.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

Bei der Fehlererkennung bewirkt eine ungültige Sequenz, dass diese Methode ArgumentException eine Ausnahme auslöst.With error detection, an invalid sequence causes this method to throw an ArgumentException exception. Ohne Fehlererkennung werden ungültige Sequenzen ignoriert, und es wird keine Ausnahme ausgelöst.Without error detection, invalid sequences are ignored, and no exception is thrown.

Siehe auch

GetCharCount(ReadOnlySpan<Byte>)

Berechnet die Anzahl von Zeichen, die beim Decodieren des angegebenen Bytebereichs erzeugt werden.Calculates the number of characters produced by decoding the specified byte span.

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.The span containing the set of bytes to decode.

Gibt zurück

Die Anzahl von Zeichen, die beim Decodieren des angegebenen Bytebereichs erzeugt werden.The number of characters produced by decoding the specified byte span.

Hinweise

Um die genaue Größe GetChars zu berechnen, die zum Speichern der resultierenden Zeichen erforderlich ist, müssen Sie die GetCharCount -Methode aufzurufen.To calculate the exact size required by GetChars to store the resulting characters, call the GetCharCount method. Um die maximale Größe zu berechnen, müssen GetMaxCharCount Sie die-Methode aufzurufen.To calculate the maximum size, call the GetMaxCharCount method. Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu GetMaxCharCount , während die-Methode im Allgemeinen schneller ausgeführt wird.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

Bei der Fehlererkennung bewirkt eine ungültige Sequenz, dass diese Methode ArgumentException eine Ausnahme auslöst.With error detection, an invalid sequence causes this method to throw an ArgumentException exception. Ohne Fehlererkennung werden ungültige Sequenzen ignoriert, und es wird keine Ausnahme ausgelöst.Without error detection, invalid sequences are ignored, and no exception is thrown.

GetCharCount(Byte*, Int32)

Wichtig

Diese API ist nicht CLS-kompatibel.

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

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

Parameter

bytes
Byte*

Ein Zeiger auf das erste zu decodierende Byte.A pointer to the first byte to decode.

count
Int32

Die Anzahl der zu decodierenden Bytes.The number of bytes to decode.

Gibt zurück

Die Anzahl der Zeichen, die beim Decodieren der angegebenen Bytefolge erzeugt werden.The number of characters produced by decoding the specified sequence of bytes.

Attribute

Ausnahmen

bytes ist null.bytes is null.

count ist kleiner als Null.count is less than zero.

- oder --or- Die daraus resultierende Byteanzahl ist größer als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Die Fehlererkennung ist aktiviert, und bytes enthält eine ungültige Folge von Bytes.Error detection is enabled, and bytes contains an invalid sequence of bytes.

Es ist ein Fallback aufgetreten (eine ausführliche Erläuterung finden Sie unter Zeichencodierung in .NET Framework).A fallback occurred (see Character Encoding in the .NET Framework for complete explanation) - und --and- Für DecoderFallback ist DecoderExceptionFallback festgelegt.DecoderFallback is set to DecoderExceptionFallback.

Hinweise

Um die genaue Array Größe GetChars zu berechnen, die zum Speichern der resultierenden Zeichen erforderlich ist, müssen Sie die GetCharCount -Methode aufzurufen.To calculate the exact array size required by GetChars to store the resulting characters, call the GetCharCount method. Um die maximale Array Größe zu berechnen, müssen GetMaxCharCount Sie die-Methode aufzurufen.To calculate the maximum array size, call the GetMaxCharCount method. Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu GetMaxCharCount , während die-Methode im Allgemeinen schneller ausgeführt wird.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

Bei der Fehlererkennung bewirkt eine ungültige Sequenz, dass diese Methode ArgumentException eine Ausnahme auslöst.With error detection, an invalid sequence causes this method to throw an ArgumentException exception. Ohne Fehlererkennung werden ungültige Sequenzen ignoriert, und es wird keine Ausnahme ausgelöst.Without error detection, invalid sequences are ignored, and no exception is thrown.

Sicherheit

SecurityCriticalAttribute
Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.Requires full trust for the immediate caller. Dieser Member kann von nur teilweise vertrauenswürdigem oder transparentem Code nicht verwendet werden.This member cannot be used by partially trusted or transparent code.

Siehe auch

Gilt für: