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


UTF7Encoding.GetCharCount Метод

Определение

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

Перегрузки

GetCharCount(Byte[], Int32, Int32)

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

GetCharCount(Byte*, Int32)

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

GetCharCount(Byte[], Int32, Int32)

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

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

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

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

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

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

Исключения

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

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

-или-

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

-или-

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

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

- и -

Параметру DecoderFallback задается значение DecoderExceptionFallback.

Примеры

В следующем примере кода показано, как использовать 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)

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

Важно!

Этот 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

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

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

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

Атрибуты

Исключения

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

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

-или-

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

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

- и -

Параметру DecoderFallback задается значение DecoderExceptionFallback.

Комментарии

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

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

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