UTF7Encoding.GetCharCount Метод

Определение

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

Перегрузки

GetCharCount(Byte[], Int32, Int32)

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

GetCharCount(Byte*, Int32)

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

GetCharCount(Byte[], Int32, Int32)

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

public:
 override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount (byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer

Параметры

bytes
Byte[]

Массив байтов, содержащий последовательность байтов, которую требуется декодировать.

index
Int32

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

count
Int32

Число байтов для декодирования.

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

Int32

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

Исключения

bytes имеет значение null (Nothing).

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

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

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

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

Примеры

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

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,0,110,0,105,0,99,0,111,0,100,0,101,0};
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int charCount = Unicode->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

        UnicodeEncoding Unicode = new UnicodeEncoding();
        int charCount = Unicode.GetCharCount(bytes, 2, 8);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = {85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0}
        
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = uni.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Комментарии

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

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

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

GetCharCount(Byte*, Int32)

Важно!

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

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

public:
 override int GetCharCount(System::Byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount (byte* bytes, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int

Параметры

bytes
Byte*

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

count
Int32

Число байтов для декодирования.

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

Int32

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

Атрибуты

Исключения

bytes имеет значение null (Nothing).

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

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

Произошла резервная передача (дополнительные сведения см. в разделе "Кодировка символов" в .NET).

Комментарии

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

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

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