Freigeben über


ASCIIEncoding.GetByteCount Methode

Definition

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen erzeugt wird.

Überlädt

GetByteCount(ReadOnlySpan<Char>)

Berechnet die Anzahl von Bytes, die durch das Codieren des angegebenen Zeichenbereichs erzeugt werden.

GetByteCount(String)

Berechnet die Anzahl der Bytes, die durch das Codieren der Zeichen in der angegebenen String-Klasse erzeugt werden.

GetByteCount(Char*, Int32)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen ab dem angegebenen Zeichenzeiger erzeugt werden.

GetByteCount(Char[], Int32, Int32)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen aus dem angegebenen Zeichenarray erzeugt werden.

GetByteCount(ReadOnlySpan<Char>)

Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs

Berechnet die Anzahl von Bytes, die durch das Codieren des angegebenen Zeichenbereichs erzeugt werden.

public:
 override int GetByteCount(ReadOnlySpan<char> chars);
public override int GetByteCount (ReadOnlySpan<char> chars);
override this.GetByteCount : ReadOnlySpan<char> -> int
Public Overrides Function GetByteCount (chars As ReadOnlySpan(Of Char)) As Integer

Parameter

chars
ReadOnlySpan<Char>

Der Bereich, der die zu codierenden Zeichen enthält.

Gibt zurück

Die Anzahl von Bytes, die beim Codieren des angegebenen Zeichenbereichs erzeugt werden.

Hinweise

Um die genaue Größe zu berechnen, die zum GetBytes Speichern der resultierenden Bytes erforderlich ist, verwenden Sie GetByteCount. Verwenden GetMaxByteCountSie zum Berechnen der maximalen Größe . Die- GetByteCount Methode ermöglicht im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.

Gilt für:

GetByteCount(String)

Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs

Berechnet die Anzahl der Bytes, die durch das Codieren der Zeichen in der angegebenen String-Klasse erzeugt werden.

public:
 override int GetByteCount(System::String ^ chars);
public override int GetByteCount (string chars);
override this.GetByteCount : string -> int
Public Overrides Function GetByteCount (chars As String) As Integer

Parameter

chars
String

Die String-Klasse mit den zu codierenden Zeichen.

Gibt zurück

Die Anzahl der Bytes, die beim Codieren der angegebenen Zeichen erzeugt werden.

Ausnahmen

chars ist null.

Die sich ergebende Anzahl von Bytes ist höher 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 EncoderFallback ist EncoderExceptionFallback festgelegt.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die GetByteCount -Methode verwendet wird, um die Anzahl von Bytes zurückzugeben, die zum Codieren einer Zeichenfolge mit ASCIIEncodingerforderlich sind.

using namespace System;
using namespace System::Text;
int main()
{
   String^ chars = "ASCII Encoding Example";
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int byteCount = ascii->GetByteCount( chars );
   Console::WriteLine( " {0} bytes needed to encode string.", byteCount );
}
using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        String chars = "ASCII Encoding Example";

        ASCIIEncoding ascii = new ASCIIEncoding();
        int byteCount = ascii.GetByteCount(chars);
        Console.WriteLine(
            "{0} bytes needed to encode string.", byteCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim chars As String = "ASCII Encoding Example"

        Dim ascii As New ASCIIEncoding()
        Dim byteCount As Integer = ascii.GetByteCount(chars)
        Console.WriteLine("{0} bytes needed to encode string.", byteCount)
    End Sub
End Class

Hinweise

Um die genaue Arraygröße zu berechnen, die für GetBytes das 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 im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für:

GetByteCount(Char*, Int32)

Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Text.ASCIIEncoding.GetByteCount(Char[], Int32, Int32)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen ab dem angegebenen Zeichenzeiger erzeugt werden.

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)]
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)>]
[<System.Security.SecurityCritical>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
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

Parameter

chars
Char*

Ein Zeiger auf das erste zu codierende Zeichen.

count
Int32

Die Anzahl der zu codierenden Zeichen.

Gibt zurück

Die Anzahl der Bytes, die beim Codieren der angegebenen Zeichen erzeugt werden.

Attribute

Ausnahmen

chars 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.

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

- und -

Für EncoderFallback ist EncoderExceptionFallback festgelegt.

Hinweise

Um die genaue Arraygröße zu berechnen, die für GetBytes das 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 im Allgemeinen 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)

Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs
Quelle:
ASCIIEncoding.cs

Berechnet die Anzahl der Bytes, die beim Codieren der 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 Zeichen 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 Bytes, die beim Codieren der angegebenen Zeichen erzeugt werden.

Ausnahmen

chars ist null.

index oder count ist kleiner als 0.

- oder -

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

- oder -

Die sich ergebende Anzahl von Bytes ist höher 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 EncoderFallback ist EncoderExceptionFallback festgelegt.

Beispiele

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

using namespace System;
using namespace System::Text;
int main()
{
   
   // Unicode characters.
   
   // Pi
   // Sigma
   array<Char>^chars = {L'\u03a0',L'\u03a3',L'\u03a6',L'\u03a9'};
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int byteCount = ascii->GetByteCount( chars, 1, 2 );
   Console::WriteLine( " {0} bytes needed to encode characters.", byteCount.ToString() );
}
using System;
using System.Text;

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

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

Class ASCIIEncodingExample
    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 ascii As New ASCIIEncoding()
        Dim byteCount As Integer = ascii.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 für GetBytes das 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 im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für: