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);
public override int GetByteCount (ReadOnlySpan<char> chars);
override this.GetByteCount : ReadOnlySpan<char> -> int
Public Overrides Function GetByteCount (chars As ReadOnlySpan(Of Char)) As Integer
Параметры
- chars
- ReadOnlySpan<Char>
Диапазон, содержащий кодируемый набор символов.
Возвращаемое значение
Число байтов, полученных при кодировании заданного диапазона символов.
Комментарии
Чтобы вычислить точный размер, необходимый GetBytes для хранения результирующего байта, используйте .GetByteCount Чтобы вычислить максимальный размер, используйте .GetMaxByteCount GetByteCountМетод обычно позволяет выделить меньше памяти, в то время GetMaxByteCount как метод обычно выполняется быстрее.
Применяется к
GetByteCount(String)
- Исходный код:
- ASCIIEncoding.cs
- Исходный код:
- ASCIIEncoding.cs
- Исходный код:
- ASCIIEncoding.cs
Вычисляет количество байтов, полученных при кодировании символов в заданном объекте 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
Параметры
Возвращаемое значение
Число байтов, полученных при кодировании заданных символов.
Исключения
chars
имеет значение null
.
Результирующее число байтов больше максимального количества, которое можно вернуть как целочисленное значение.
Произошел откат (см. сведения о кодировке символов в .NET)
- и -
Параметру EncoderFallback задается значение EncoderExceptionFallback.
Примеры
В следующем примере показано, как использовать GetByteCount метод для возврата количества байтов, необходимых для кодирования строки с помощью 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
Комментарии
Чтобы вычислить точный размер массива, необходимый GetBytes для хранения результирующего байта, приложение использует GetByteCount. Чтобы вычислить максимальный размер массива, приложение должно использовать GetMaxByteCount. GetByteCountМетод обычно позволяет выделить меньше памяти, в то время GetMaxByteCount как метод обычно выполняется быстрее.
См. также раздел
- GetBytes(String, Int32, Int32, Byte[], Int32)
- GetMaxByteCount(Int32)
- GetEncoder()
- Общие сведения о кодировках
Применяется к
GetByteCount(Char*, Int32)
- Исходный код:
- ASCIIEncoding.cs
- Исходный код:
- ASCIIEncoding.cs
- Исходный код:
- ASCIIEncoding.cs
Важно!
Этот API несовместим с CLS.
- Альтернативный вариант, совместимый с CLS
- System.Text.ASCIIEncoding.GetByteCount(Char[], Int32, Int32)
Вычисляет число байтов, полученных при кодировании набора символов начиная с заданного указателя символа.
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
Параметры
- 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(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
Параметры
- chars
- Char[]
Массив символов, содержащий набор кодируемых символов.
- index
- Int32
Индекс первого кодируемого символа.
- count
- Int32
Число кодируемых символов.
Возвращаемое значение
Число байтов, полученных при кодировании заданных символов.
Исключения
chars
имеет значение null
.
Значение параметра index
или count
меньше нуля.
-или-
Параметрыindex
и count
не указывают допустимый диапазон в chars
.
-или-
Результирующее число байтов больше максимального количества, которое можно вернуть как целочисленное значение.
Произошел откат (см. сведения о кодировке символов в .NET)
- и -
Параметру EncoderFallback задается значение EncoderExceptionFallback.
Примеры
В следующем примере показано, как использовать GetByteCount метод для возврата количества байтов, необходимого для кодирования массива символов Юникода с помощью 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
Комментарии
Чтобы вычислить точный размер массива, необходимый GetBytes для хранения результирующего байта, приложение использует GetByteCount. Чтобы вычислить максимальный размер массива, приложение должно использовать GetMaxByteCount. GetByteCountМетод обычно позволяет выделить меньше памяти, в то время GetMaxByteCount как метод обычно выполняется быстрее.