Прочитать на английском

Поделиться через


ASCIIEncoding.GetByteCount Метод

Определение

Подсчитывает количество байтов, полученных при кодировании набора символов.

Перегрузки

GetByteCount(ReadOnlySpan<Char>)

Вычисляет количество байтов, полученных при кодировании указанного диапазона символов.

GetByteCount(String)

Вычисляет количество байтов, полученных при кодировании символов в заданном объекте String.

GetByteCount(Char*, Int32)

Вычисляет число байтов, полученных при кодировании набора символов начиная с заданного указателя символа.

GetByteCount(Char[], Int32, Int32)

Вычисляет число байтов, полученных при кодировании набора символов из указанного массива символов.

GetByteCount(ReadOnlySpan<Char>)

Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs

Вычисляет количество байтов, полученных при кодировании указанного диапазона символов.

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

Параметры

chars
ReadOnlySpan<Char>

Диапазон, содержащий кодируемый набор символов.

Возвращаемое значение

Число байтов, полученных при кодировании заданного диапазона символов.

Комментарии

Чтобы вычислить точный размер, необходимый GetBytes для хранения результирующего байта, используйте .GetByteCount Чтобы вычислить максимальный размер, используйте .GetMaxByteCount GetByteCountМетод обычно позволяет выделить меньше памяти, в то время GetMaxByteCount как метод обычно выполняется быстрее.

Применяется к

Продукт Версии

GetByteCount(String)

Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs

Вычисляет количество байтов, полученных при кодировании символов в заданном объекте String.

public override int GetByteCount (string chars);

Параметры

chars
String

Объект String, содержащий кодируемый набор символов.

Возвращаемое значение

Число байтов, полученных при кодировании заданных символов.

Исключения

chars имеет значение null.

Результирующее число байтов больше максимального количества, которое можно вернуть как целочисленное значение.

Произошел откат (см. сведения о кодировке символов в .NET)

- и -

Параметру EncoderFallback задается значение EncoderExceptionFallback.

Примеры

В следующем примере показано, как использовать GetByteCount метод для возврата количества байтов, необходимых для кодирования строки с помощью ASCIIEncoding.

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

Комментарии

Чтобы вычислить точный размер массива, необходимый GetBytes для хранения результирующего байта, приложение использует GetByteCount. Чтобы вычислить максимальный размер массива, приложение должно использовать GetMaxByteCount. GetByteCountМетод обычно позволяет выделить меньше памяти, в то время GetMaxByteCount как метод обычно выполняется быстрее.

См. также раздел

Применяется к

Продукт Версии

GetByteCount(Char*, Int32)

Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs

Важно!

Этот API несовместим с CLS.

Альтернативный вариант, совместимый с CLS
System.Text.ASCIIEncoding.GetByteCount(Char[], Int32, Int32)

Вычисляет число байтов, полученных при кодировании набора символов начиная с заданного указателя символа.

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

Параметры

chars
Char*

Указатель на первый кодируемый символ.

count
Int32

Число кодируемых символов.

Возвращаемое значение

Число байтов, полученных при кодировании заданных символов.

Атрибуты

Исключения

chars имеет значение null.

Значение параметра count меньше нуля.

-или-

Результирующее число байтов больше максимального количества, которое можно вернуть как целочисленное значение.

Произошел откат (см. сведения о кодировке символов в .NET)

- и -

Параметру EncoderFallback задается значение EncoderExceptionFallback.

Комментарии

Чтобы вычислить точный размер массива, необходимый GetBytes для хранения результирующего байта, приложение использует GetByteCount. Чтобы вычислить максимальный размер массива, приложение должно использовать GetMaxByteCount. GetByteCountМетод обычно позволяет выделить меньше памяти, в то время GetMaxByteCount как метод обычно выполняется быстрее.

См. также раздел

Применяется к

Продукт Версии

GetByteCount(Char[], Int32, Int32)

Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs

Вычисляет число байтов, полученных при кодировании набора символов из указанного массива символов.

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

Параметры

chars
Char[]

Массив символов, содержащий набор кодируемых символов.

index
Int32

Индекс первого кодируемого символа.

count
Int32

Число кодируемых символов.

Возвращаемое значение

Число байтов, полученных при кодировании заданных символов.

Исключения

chars имеет значение null.

Значение параметра index или count меньше нуля.

-или-

Параметрыindex и count не указывают допустимый диапазон в chars.

-или-

Результирующее число байтов больше максимального количества, которое можно вернуть как целочисленное значение.

Произошел откат (см. сведения о кодировке символов в .NET)

- и -

Параметру EncoderFallback задается значение EncoderExceptionFallback.

Примеры

В следующем примере показано, как использовать GetByteCount метод для возврата количества байтов, необходимого для кодирования массива символов Юникода с помощью ASCIIEncoding.

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

Комментарии

Чтобы вычислить точный размер массива, необходимый GetBytes для хранения результирующего байта, приложение использует GetByteCount. Чтобы вычислить максимальный размер массива, приложение должно использовать GetMaxByteCount. GetByteCountМетод обычно позволяет выделить меньше памяти, в то время GetMaxByteCount как метод обычно выполняется быстрее.

См. также раздел

Применяется к

Продукт Версии