UnicodeEncoding.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)

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.

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(Nothing).bytes is null (Nothing).

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 Bytefolge.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 fuller explanation) - und --and- Für DecoderFallback ist DecoderExceptionFallback festgelegt.DecoderFallback is set to DecoderExceptionFallback.

Hinweise

Zum Berechnen der exakten Array Größe GetChars , die für das Speichern der resultierenden Zeichen erforderlich ist, verwendet GetCharCountdie Anwendung.To calculate the exact array size that GetChars requires to store the resulting characters, the application uses GetCharCount. Um die maximale Array Größe zu berechnen, sollte von der GetMaxCharCountAnwendung verwendet werden.To calculate the maximum array size, the application should use GetMaxCharCount. 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 ArgumentExceptioneine auslöst.With error detection, an invalid sequence causes this method to throw a ArgumentException. 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

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(Nothing).bytes is null (Nothing).

index oder count ist kleiner als 0 (null).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 Bytefolge.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 fuller explanation) - und --and- Für DecoderFallback ist DecoderExceptionFallback festgelegt.DecoderFallback is set to DecoderExceptionFallback.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die GetCharCount -Methode verwendet wird, um die Anzahl der Zeichen zurückzugeben, die beim Decodieren eines Bereichs UnicodeEncodingvon Elementen in einem Bytearray mit erzeugt werden.The following example demonstrates how to use the GetCharCount method to return the number of characters produced by decoding a range of elements in a byte array using UnicodeEncoding.

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};
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int charCount = Unicode->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}

using System;
using System.Text;

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

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

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = {85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0}
        
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = uni.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Hinweise

Zum Berechnen der exakten Array Größe, die GetChars von zum Speichern der resultierenden Zeichen erforderlich ist, GetCharCountverwendet die Anwendung.To calculate the exact array size required by GetChars to store the resulting characters, the application uses GetCharCount. Um die maximale Array Größe zu berechnen, sollte von der GetMaxCharCountAnwendung verwendet werden.To calculate the maximum array size, the application should use GetMaxCharCount. 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 ArgumentExceptioneine auslöst.With error detection, an invalid sequence causes this method to throw a ArgumentException. 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

Gilt für: