UTF8Encoding.GetCharCount Método

Definição

Calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes.Calculates the number of characters produced by decoding a sequence of bytes.

Sobrecargas

GetCharCount(Byte[], Int32, Int32)

Calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes da matriz de bytes especificada.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(ReadOnlySpan<Byte>)

Calcula o número de caracteres produzidos pela decodificação do intervalo de bytes especificado.Calculates the number of characters produced by decoding the specified byte span.

GetCharCount(Byte*, Int32)

Calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes começando no ponteiro de bytes especificado.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

GetCharCount(Byte[], Int32, Int32)

Calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes da matriz de bytes especificada.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

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

Parâmetros

bytes
Byte[]

A matriz de bytes que contém a sequência de bytes a ser decodificada.The byte array containing the sequence of bytes to decode.

index
Int32

O índice do primeiro byte a ser decodificado.The index of the first byte to decode.

count
Int32

O número de bytes a serem decodificados.The number of bytes to decode.

Retornos

Int32

O número de caracteres produzido pela decodificação da sequência de bytes especificada.The number of characters produced by decoding the specified sequence of bytes.

Exceções

bytes é null.bytes is null.

index ou count é menor que zero.index or count is less than zero.

- ou --or- index e count não denotam um intervalo válido em bytes.index and count do not denote a valid range in bytes.

- ou --or- O número de bytes resultante é maior que o número máximo que pode ser retornado como um inteiro.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

A detecção de erros está habilitada e bytes contém uma sequência de bytes inválida.Error detection is enabled, and bytes contains an invalid sequence of bytes.

Ocorreu um fallback (saiba mais em Codificação de caracteres no .NET)A fallback occurred (for more information, see Character Encoding in .NET) -e--and- DecoderFallback é definido como DecoderExceptionFallback.DecoderFallback is set to DecoderExceptionFallback.

Exemplos

O exemplo a seguir usa o GetCharCount método para retornar o número de caracteres produzidos pela decodificação de um intervalo de elementos em uma matriz de bytes.The following example uses the GetCharCount method to return the number of characters produced by decoding a range of elements in a byte array.

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,84,70,56,32,69,110,99,111,100,105,110,103,32,69,120,97,109,112,108,101};
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   int charCount = utf8->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
             85,  84,  70,  56,  32,  69, 110,
             99, 111, 100, 105, 110, 103,  32,
             69, 120,  97, 109, 112, 108, 101
        };

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

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85,  84,  70,  56,  32,  69, 110, _
            99, 111, 100, 105, 110, 103,  32, _
            69, 120,  97, 109, 112, 108, 101 _
        }
        
        Dim utf8 As New UTF8Encoding()
        Dim charCount As Integer = utf8.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Comentários

Para calcular o tamanho exato da matriz exigido pelo GetChars para armazenar os caracteres resultantes, chame o GetCharCount método.To calculate the exact array size required by GetChars to store the resulting characters, call the GetCharCount method. Para calcular o tamanho máximo da matriz, chame o GetMaxCharCount método.To calculate the maximum array size, call the GetMaxCharCount method. O GetCharCount método geralmente aloca menos memória, enquanto o GetMaxCharCount método geralmente é executado mais rapidamente.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

Com a detecção de erro, uma sequência inválida faz com que esse método gere uma ArgumentException exceção.With error detection, an invalid sequence causes this method to throw an ArgumentException exception. Sem a detecção de erros, as sequências inválidas são ignoradas e nenhuma exceção é lançada.Without error detection, invalid sequences are ignored, and no exception is thrown.

Confira também

Aplica-se a

GetCharCount(ReadOnlySpan<Byte>)

Calcula o número de caracteres produzidos pela decodificação do intervalo de bytes especificado.Calculates the number of characters produced by decoding the specified byte span.

public:
 override int GetCharCount(ReadOnlySpan<System::Byte> bytes);
public override int GetCharCount (ReadOnlySpan<byte> bytes);
override this.GetCharCount : ReadOnlySpan<byte> -> int
Public Overrides Function GetCharCount (bytes As ReadOnlySpan(Of Byte)) As Integer

Parâmetros

bytes
ReadOnlySpan<Byte>

O intervalo que contém o conjunto de bytes a serem decodificados.The span containing the set of bytes to decode.

Retornos

Int32

O número de caracteres produzidos pela decodificação do intervalo de bytes especificado.The number of characters produced by decoding the specified byte span.

Comentários

Para calcular o tamanho exato exigido pelo GetChars para armazenar os caracteres resultantes, chame o GetCharCount método.To calculate the exact size required by GetChars to store the resulting characters, call the GetCharCount method. Para calcular o tamanho máximo, chame o GetMaxCharCount método.To calculate the maximum size, call the GetMaxCharCount method. O GetCharCount método geralmente aloca menos memória, enquanto o GetMaxCharCount método geralmente é executado mais rapidamente.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

Com a detecção de erro, uma sequência inválida faz com que esse método gere uma ArgumentException exceção.With error detection, an invalid sequence causes this method to throw an ArgumentException exception. Sem a detecção de erros, as sequências inválidas são ignoradas e nenhuma exceção é lançada.Without error detection, invalid sequences are ignored, and no exception is thrown.

Aplica-se a

GetCharCount(Byte*, Int32)

Importante

Esta API não está em conformidade com CLS.

Calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes começando no ponteiro de bytes especificado.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

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

Parâmetros

bytes
Byte*

Um ponteiro do primeiro byte a ser decodificado.A pointer to the first byte to decode.

count
Int32

O número de bytes a serem decodificados.The number of bytes to decode.

Retornos

Int32

O número de caracteres produzido pela decodificação da sequência de bytes especificada.The number of characters produced by decoding the specified sequence of bytes.

Atributos

Exceções

bytes é null.bytes is null.

count é menor que zero.count is less than zero.

- ou --or- O número de bytes resultante é maior que o número máximo que pode ser retornado como um inteiro.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

A detecção de erros está habilitada e bytes contém uma sequência de bytes inválida.Error detection is enabled, and bytes contains an invalid sequence of bytes.

Ocorreu um fallback (saiba mais em Codificação de caracteres no .NET)A fallback occurred (for more information, see Character Encoding in .NET) -e--and- DecoderFallback é definido como DecoderExceptionFallback.DecoderFallback is set to DecoderExceptionFallback.

Comentários

Para calcular o tamanho exato da matriz exigido pelo GetChars para armazenar os caracteres resultantes, chame o GetCharCount método.To calculate the exact array size required by GetChars to store the resulting characters, call the GetCharCount method. Para calcular o tamanho máximo da matriz, chame o GetMaxCharCount método.To calculate the maximum array size, call the GetMaxCharCount method. O GetCharCount método geralmente aloca menos memória, enquanto o GetMaxCharCount método geralmente é executado mais rapidamente.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

Com a detecção de erro, uma sequência inválida faz com que esse método gere uma ArgumentException exceção.With error detection, an invalid sequence causes this method to throw an ArgumentException exception. Sem a detecção de erros, as sequências inválidas são ignoradas e nenhuma exceção é lançada.Without error detection, invalid sequences are ignored, and no exception is thrown.

Confira também

Aplica-se a