ASCIIEncoding.GetByteCount Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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>)
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. Um die maximale Größe zu berechnen, verwenden Sie GetMaxByteCount. 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)
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
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 verwendet ASCIIEncodingwerden müssen.
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 zum GetBytes Speichern der resultierenden Bytes erforderlich ist, verwendet GetByteCountdie Anwendung . Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwendet werden GetMaxByteCount. Die- GetByteCount Methode ermöglicht im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.
Siehe auch
- GetBytes(String, Int32, Int32, Byte[], Int32)
- GetMaxByteCount(Int32)
- GetEncoder()
- Grundlegendes zu Codierungen
Gilt für
GetByteCount(Char*, Int32)
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 zum GetBytes Speichern der resultierenden Bytes erforderlich ist, verwendet GetByteCountdie Anwendung . Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwendet werden GetMaxByteCount. Die- GetByteCount Methode ermöglicht im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.
Siehe auch
Gilt für
GetByteCount(Char[], Int32, Int32)
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 chars
an.
- 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 der Bytes zurückzugeben, die zum Codieren eines Arrays von Unicode-Zeichen erforderlich sind ASCIIEncoding.
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 zum GetBytes Speichern der resultierenden Bytes erforderlich ist, verwendet GetByteCountdie Anwendung . Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwendet werden GetMaxByteCount. Die- GetByteCount Methode ermöglicht im Allgemeinen die Zuordnung von weniger Arbeitsspeicher, während die- GetMaxByteCount Methode im Allgemeinen schneller ausgeführt wird.