UTF7Encoding.GetByteCount Methode

Definition

Berechnet die Anzahl der Bytes, die durch codieren einer Reihe von Zeichen erzeugt werden.

Überlädt

Name Beschreibung
GetByteCount(String)

Berechnet die Anzahl der Bytes, die durch die Codierung der Zeichen im angegebenen String Objekt erzeugt werden.

GetByteCount(Char*, Int32)

Berechnet die Anzahl der Bytes, die durch Codieren einer Reihe von Zeichen erstellt werden, beginnend mit dem angegebenen Zeichenzeiger.

GetByteCount(Char[], Int32, Int32)

Berechnet die Anzahl der Bytes, die durch Codieren einer Reihe von Zeichen aus dem angegebenen Zeichenarray erzeugt werden.

GetByteCount(String)

Berechnet die Anzahl der Bytes, die durch die Codierung der Zeichen im angegebenen String Objekt erzeugt werden.

public:
 override int GetByteCount(System::String ^ s);
public override int GetByteCount(string s);
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount(string s);
override this.GetByteCount : string -> int
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : string -> int
Public Overrides Function GetByteCount (s As String) As Integer

Parameter

s
String

Das String Objekt, das die zu codierenden Zeichensätze enthält.

Gibt zurück

Die Anzahl der Byte, die durch die Codierung der angegebenen Zeichen erzeugt werden.

Attribute

Ausnahmen

s ist null (Nothing).

Die resultierende Anzahl von Bytes ist größer als die maximale Anzahl, die als Int zurückgegeben werden kann.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Character-Codierung in .NET).

-und-

EncoderFallback ist auf EncoderExceptionFallback festgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die GetByteCount Methode verwendet wird, um die Anzahl der Bytes zurückzugeben, die zum Codieren eines Zeichenarrays erforderlich sind.

using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        // Unicode characters.
        Char[] chars = new Char[] {
            '\u0023', // #
            '\u0025', // %
            '\u03a0', // Pi
            '\u03a3'  // Sigma
        };

        UTF7Encoding utf7 = new UTF7Encoding();
        int byteCount = utf7.GetByteCount(chars, 1, 2);
        Console.WriteLine(
            "{0} bytes needed to encode characters.", byteCount
        );
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        ' Unicode characters.
        ' ChrW(35)  = #
        ' ChrW(37)  = %
        ' ChrW(928) = Pi
        ' ChrW(931) = Sigma
        Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}
        
        Dim utf7 As New UTF7Encoding()
        Dim byteCount As Integer = utf7.GetByteCount(chars, 1, 2)
        Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
    End Sub
End Class

Hinweise

Um die genaue Arraygröße zu berechnen, GetBytes die zum Speichern der resultierenden Bytes erforderlich ist, verwendet GetByteCountdie Anwendung . Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwenden GetMaxByteCount. Die GetByteCount Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für:

GetByteCount(Char*, Int32)

Wichtig

Diese API ist nicht CLS-kompatibel.

Berechnet die Anzahl der Bytes, die durch Codieren einer Reihe von Zeichen erstellt werden, beginnend mit dem angegebenen Zeichenzeiger.

public:
 override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
public override int GetByteCount(char* chars, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
override this.GetByteCount : nativeptr<char> * int -> int

Parameter

chars
Char*

Ein Zeiger auf das erste zeichen, das codiert werden soll.

count
Int32

Die Anzahl der zu codierenden Zeichen.

Gibt zurück

Die Anzahl der Byte, die durch die Codierung der angegebenen Zeichen erzeugt werden.

Attribute

Ausnahmen

chars ist null (Nothing in Visual Basic .NET).

count ist kleiner als 0 (null).

-oder-

Die resultierende Anzahl von Bytes ist größer als die maximale Anzahl, die als Int zurückgegeben werden kann.

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

-und-

EncoderFallback ist auf EncoderExceptionFallback festgelegt.

Hinweise

Um die genaue Arraygröße zu berechnen, GetBytes die zum Speichern der resultierenden Bytes erforderlich ist, verwendet GetByteCountdie Anwendung . Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwenden GetMaxByteCount. Die GetByteCount Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für:

GetByteCount(Char[], Int32, Int32)

Berechnet die Anzahl der Bytes, die durch Codieren einer Reihe von Zeichen aus dem angegebenen Zeichenarray erzeugt werden.

public:
 override int GetByteCount(cli::array <char> ^ chars, int index, int count);
public override int GetByteCount(char[] chars, int index, int count);
override this.GetByteCount : char[] * int * int -> int
Public Overrides Function GetByteCount (chars As Char(), index As Integer, count As Integer) As Integer

Parameter

chars
Char[]

Das Zeichenarray, das die zu codierenden Zeichensätze enthält.

index
Int32

Der Index des ersten zu codierenden Zeichens.

count
Int32

Die Anzahl der zu codierenden Zeichen.

Gibt zurück

Die Anzahl der Byte, die durch die Codierung der angegebenen Zeichen erzeugt werden.

Ausnahmen

chars ist null (Nothing).

index oder count ist kleiner als Null.

-oder-

index und count keinen gültigen Bereich in chars.

-oder-

Die resultierende Anzahl von Bytes ist größer als die maximale Anzahl, die als Int zurückgegeben werden kann.

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

-und-

EncoderFallback ist auf EncoderExceptionFallback festgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die GetByteCount Methode verwendet wird, um die Anzahl der Bytes zurückzugeben, die zum Codieren eines Arrays von Unicode-Zeichen erforderlich sind.

using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        // Unicode characters.
        Char[] chars = new Char[] {
            '\u0023', // #
            '\u0025', // %
            '\u03a0', // Pi
            '\u03a3'  // Sigma
        };

        UTF7Encoding utf7 = new UTF7Encoding();
        int byteCount = utf7.GetByteCount(chars, 1, 2);
        Console.WriteLine(
            "{0} bytes needed to encode characters.", byteCount
        );
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        ' Unicode characters.
        ' ChrW(35)  = #
        ' ChrW(37)  = %
        ' ChrW(928) = Pi
        ' ChrW(931) = Sigma
        Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}
        
        Dim utf7 As New UTF7Encoding()
        Dim byteCount As Integer = utf7.GetByteCount(chars, 1, 2)
        Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
    End Sub
End Class

Hinweise

Um die genaue Arraygröße zu berechnen, die zum GetBytes Speichern der resultierenden Bytes erforderlich ist, verwendet GetByteCountdie Anwendung . Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwenden GetMaxByteCount. Die GetByteCount Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für: