UTF7Encoding.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(Byte[], Int32, Int32)

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

Int32

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

Ausnahmen

bytes ist null(Nothing).

index oder count ist kleiner als 0.

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

- oder - Die daraus resultierende Zeichenanzahl ist größer als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.

Es ist ein Fallback aufgetreten (weitere Informationen finden Sie unter Zeichencodierung in .NET). - und - Für DecoderFallback ist DecoderExceptionFallback festgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die GetCharCount Methode verwendet wird, um die Anzahl der Zeichen zurückzugeben, die durch Decodierung eines Bereichs von Elementen in einem Bytearray erzeugt werden.

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

Um die genaue Arraygröße zu berechnen, die zum GetChars Speichern der resultierenden Zeichen erforderlich ist, verwenden Sie GetCharCount. Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwendet werden GetMaxCharCount. Die- GetCharCount Methode ermöglicht im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Siehe auch

Gilt für

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.

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

Int32

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

Attribute

Ausnahmen

bytes ist null(Nothing).

count ist kleiner als Null.

- oder - Die daraus resultierende Zeichenanzahl ist größer als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.

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

- und - Für DecoderFallback ist DecoderExceptionFallback festgelegt.

Hinweise

Um die genaue Arraygröße zu berechnen, die zum GetChars Speichern der resultierenden Zeichen erforderlich ist, verwenden Sie GetCharCount. Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwendet werden GetMaxCharCount. Die- GetCharCount Methode ermöglicht im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Siehe auch

Gilt für