ASCIIEncoding.GetByteCount Metoda

Definicja

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków.

Przeciążenia

GetByteCount(ReadOnlySpan<Char>)

Oblicza liczbę bajtów generowanych przez kodowanie określonego zakresu znaków.

GetByteCount(String)

Oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym Stringobiekcie .

GetByteCount(Char*, Int32)

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków rozpoczynających się od określonego wskaźnika znaków.

GetByteCount(Char[], Int32, Int32)

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków z określonej tablicy znaków.

GetByteCount(ReadOnlySpan<Char>)

Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs

Oblicza liczbę bajtów generowanych przez kodowanie określonego zakresu znaków.

C#
public override int GetByteCount (ReadOnlySpan<char> chars);

Parametry

chars
ReadOnlySpan<Char>

Zakres zawierający zestaw znaków do zakodowania.

Zwraca

Liczba bajtów generowanych przez kodowanie określonego zakresu znaków.

Uwagi

Aby obliczyć dokładny rozmiar wymagany przez GetBytes program do przechowywania wynikowych bajtów, użyj polecenia GetByteCount. Aby obliczyć maksymalny rozmiar, użyj polecenia GetMaxByteCount. Metoda GetByteCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zwykle wykonuje się szybciej.

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9

GetByteCount(String)

Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs

Oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym Stringobiekcie .

C#
public override int GetByteCount (string chars);

Parametry

chars
String

Element String zawierający zestaw znaków do zakodowania.

Zwraca

Liczba bajtów generowanych przez kodowanie określonych znaków.

Wyjątki

chars to null.

Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę całkowitą.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

EncoderFallback parametr jest ustawiony na EncoderExceptionFallbackwartość .

Przykłady

W poniższym przykładzie pokazano, jak za pomocą GetByteCount metody zwrócić liczbę bajtów wymaganych do zakodowania ciągu przy użyciu metody ASCIIEncoding.

C#
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
        );
    }
}

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetBytes program do przechowywania wynikowych bajtów, aplikacja używa elementu GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać polecenia GetMaxByteCount. Metoda GetByteCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

GetByteCount(Char*, Int32)

Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs

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 generowanych przez kodowanie zestawu znaków rozpoczynających się od określonego wskaźnika znaków.

C#
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetByteCount (char* chars, int count);
C#
[System.CLSCompliant(false)]
public override int GetByteCount (char* chars, int count);
C#
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount (char* chars, int count);
C#
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount (char* chars, int count);

Parametry

chars
Char*

Wskaźnik do pierwszego znaku w celu zakodowania.

count
Int32

Liczba znaków do zakodowania.

Zwraca

Liczba bajtów generowanych przez kodowanie określonych znaków.

Atrybuty

Wyjątki

chars to null.

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

-lub-

Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę całkowitą.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

EncoderFallback parametr jest ustawiony na EncoderExceptionFallbackwartość .

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetBytes program do przechowywania wynikowych bajtów, aplikacja używa elementu GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać polecenia GetMaxByteCount. Metoda GetByteCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

GetByteCount(Char[], Int32, Int32)

Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs
Źródło:
ASCIIEncoding.cs

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków z określonej tablicy znaków.

C#
public override int GetByteCount (char[] chars, int index, int count);

Parametry

chars
Char[]

Tablica znaków zawierająca zestaw znaków do kodowania.

index
Int32

Indeks pierwszego znaku do zakodowania.

count
Int32

Liczba znaków do zakodowania.

Zwraca

Liczba bajtów generowanych przez kodowanie określonych znaków.

Wyjątki

chars to null.

index wartość lub count jest mniejsza niż zero.

-lub-

index i count nie oznaczają prawidłowego zakresu w elemecie chars.

-lub-

Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę całkowitą.

Wystąpił powrót (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

EncoderFallback parametr jest ustawiony na EncoderExceptionFallbackwartość .

Przykłady

W poniższym przykładzie pokazano, jak za pomocą GetByteCount metody zwracać liczbę bajtów wymaganych do zakodowania tablicy znaków Unicode przy użyciu metody ASCIIEncoding.

C#
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
        );
    }
}

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetBytes program do przechowywania wynikowych bajtów, aplikacja używa elementu GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna używać polecenia GetMaxByteCount. Metoda GetByteCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0