ASCIIEncoding.GetByteCount Metoda

Definicja

Oblicza liczbę bajtów generowanych przez zakodowanie zestawu znaków.Calculates the number of bytes produced by encoding a set of characters.

Przeciążenia

GetByteCount(ReadOnlySpan<Char>)

Oblicza liczbę bajtów generowanych przez kodowanie określonego zakresu znaków.Calculates the number of bytes produced by encoding the specified character span.

GetByteCount(String)

Oblicza liczbę bajtów wytwarzanych przez zakodowanie znaków w określonym String .Calculates the number of bytes produced by encoding the characters in the specified String.

GetByteCount(Char*, Int32)

Oblicza liczbę bajtów wytwarzanych przez zakodowanie zestawu znaków, zaczynając od określonego wskaźnika znakowego.Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer.

GetByteCount(Char[], Int32, Int32)

Oblicza liczbę bajtów wytwarzanych przez zakodowanie zestawu znaków z określonej tablicy znaków.Calculates the number of bytes produced by encoding a set of characters from the specified character array.

GetByteCount(ReadOnlySpan<Char>)

Oblicza liczbę bajtów generowanych przez kodowanie określonego zakresu znaków.Calculates the number of bytes produced by encoding the specified character span.

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

Parametry

chars
ReadOnlySpan<Char>

Zakres, który zawiera zestaw znaków do kodowania.The span that contains the set of characters to encode.

Zwraca

Int32

Liczba bajtów wygenerowanych przez kodowanie określonego zakresu znaków.The number of bytes produced by encoding the specified character span.

Uwagi

Aby obliczyć dokładny rozmiar wymagany przez GetBytes program do przechowywania powstających bajtów, użyj GetByteCount .To calculate the exact size required by GetBytes to store the resulting bytes, use GetByteCount. Aby obliczyć maksymalny rozmiar, użyj GetMaxByteCount .To calculate the maximum size, use GetMaxByteCount. GetByteCountMetoda ogólnie zezwala na przydzielanie mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zazwyczaj wykonuje się szybciej.The GetByteCount method generally allows allocation of less memory, while the GetMaxByteCount method generally executes faster.

Dotyczy

GetByteCount(String)

Oblicza liczbę bajtów wytwarzanych przez zakodowanie znaków w określonym String .Calculates the number of bytes produced by encoding the characters in the specified String.

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

Parametry

chars
String

StringZawiera zestaw znaków do kodowania.The String containing the set of characters to encode.

Zwraca

Int32

Liczba bajtów generowanych przez kodowanie określonych znaków.The number of bytes produced by encoding the specified characters.

Wyjątki

chars to null.chars is null.

Wynikowa liczba bajtów jest większa niż maksymalna liczba, która może zostać zwrócona jako liczba całkowita.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Wystąpiła rezerwa (Aby uzyskać więcej informacji, zobacz kodowanie znaków w programie .NET).A fallback occurred (for more information, see Character Encoding in .NET) lub-and- EncoderFallback jest ustawiony na EncoderExceptionFallback .EncoderFallback is set to EncoderExceptionFallback.

Przykłady

Poniższy przykład ilustruje sposób użycia GetByteCount metody do zwrócenia liczby bajtów wymaganych do zakodowania ciągu przy użyciu ASCIIEncoding .The following example demonstrates how to use the GetByteCount method to return the number of bytes required to encode a string using ASCIIEncoding.

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

Uwagi

W celu obliczenia dokładnego rozmiaru tablicy wymaganego w GetBytes celu przechowywania powstających bajtów aplikacja będzie używać GetByteCount .To calculate the exact array size required by GetBytes to store the resulting bytes, the application uses GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać GetMaxByteCount .To calculate the maximum array size, the application should use GetMaxByteCount. GetByteCountMetoda ogólnie zezwala na przydzielanie mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zazwyczaj wykonuje się szybciej.The GetByteCount method generally allows allocation of less memory, while the GetMaxByteCount method generally executes faster.

Zobacz też

Dotyczy

GetByteCount(Char*, Int32)

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Alternatywa zgodna ze specyfikacją CLS
System.Text.ASCIIEncoding.GetByteCount(Char[], Int32, Int32)

Oblicza liczbę bajtów wytwarzanych przez zakodowanie zestawu znaków, zaczynając od określonego wskaźnika znakowego.Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer.

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);
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
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

Parametry

chars
Char*

Wskaźnik do pierwszego znaku do zakodowania.A pointer to the first character to encode.

count
Int32

Liczba znaków do zakodowania.The number of characters to encode.

Zwraca

Int32

Liczba bajtów generowanych przez kodowanie określonych znaków.The number of bytes produced by encoding the specified characters.

Atrybuty

Wyjątki

chars to null.chars is null.

Parametr count ma wartość niższą niż zero.count is less than zero.

-lub--or- Wynikowa liczba bajtów jest większa niż maksymalna liczba, która może zostać zwrócona jako liczba całkowita.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Wystąpiła rezerwa (Aby uzyskać więcej informacji, zobacz kodowanie znaków w programie .NET).A fallback occurred (for more information, see Character Encoding in .NET) lub-and- EncoderFallback jest ustawiony na EncoderExceptionFallback .EncoderFallback is set to EncoderExceptionFallback.

Uwagi

W celu obliczenia dokładnego rozmiaru tablicy wymaganego w GetBytes celu przechowywania powstających bajtów aplikacja będzie używać GetByteCount .To calculate the exact array size required by GetBytes to store the resulting bytes, the application uses GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać GetMaxByteCount .To calculate the maximum array size, the application should use GetMaxByteCount. GetByteCountMetoda ogólnie zezwala na przydzielanie mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zazwyczaj wykonuje się szybciej.The GetByteCount method generally allows allocation of less memory, while the GetMaxByteCount method generally executes faster.

Zobacz też

Dotyczy

GetByteCount(Char[], Int32, Int32)

Oblicza liczbę bajtów wytwarzanych przez zakodowanie zestawu znaków z określonej tablicy znaków.Calculates the number of bytes produced by encoding a set of characters from the specified character array.

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

Parametry

chars
Char[]

Tablica znaków zawierająca zestaw znaków do kodowania.The character array containing the set of characters to encode.

index
Int32

Indeks pierwszego znaku do zakodowania.The index of the first character to encode.

count
Int32

Liczba znaków do zakodowania.The number of characters to encode.

Zwraca

Int32

Liczba bajtów generowanych przez kodowanie określonych znaków.The number of bytes produced by encoding the specified characters.

Wyjątki

chars to null.chars is null.

index lub count jest mniejsza od zera.index or count is less than zero.

-lub--or- index i count nie należy zauważyć prawidłowego zakresu w chars .index and count do not denote a valid range in chars.

-lub--or- Wynikowa liczba bajtów jest większa niż maksymalna liczba, która może zostać zwrócona jako liczba całkowita.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Wystąpiła rezerwa (Aby uzyskać więcej informacji, zobacz kodowanie znaków w programie .NET).A fallback occurred (for more information, see Character Encoding in .NET) lub-and- EncoderFallback jest ustawiony na EncoderExceptionFallback .EncoderFallback is set to EncoderExceptionFallback.

Przykłady

Poniższy przykład ilustruje sposób użycia GetByteCount metody do zwrócenia liczby bajtów wymaganych do zakodowania tablicy znaków Unicode przy użyciu ASCIIEncoding .The following example demonstrates how to use the GetByteCount method to return the number of bytes required to encode an array of Unicode characters using 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

Uwagi

W celu obliczenia dokładnego rozmiaru tablicy wymaganego w GetBytes celu przechowywania powstających bajtów aplikacja będzie używać GetByteCount .To calculate the exact array size required by GetBytes to store the resulting bytes, the application uses GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać GetMaxByteCount .To calculate the maximum array size, the application should use GetMaxByteCount. GetByteCountMetoda ogólnie zezwala na przydzielanie mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zazwyczaj wykonuje się szybciej.The GetByteCount method generally allows allocation of less memory, while the GetMaxByteCount method generally executes faster.

Zobacz też

Dotyczy