Decoder.GetCharCount Decoder.GetCharCount Decoder.GetCharCount Decoder.GetCharCount Method

Definición

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes.When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes.

Sobrecargas

GetCharCount(ReadOnlySpan<Byte>, Boolean) GetCharCount(ReadOnlySpan<Byte>, Boolean) GetCharCount(ReadOnlySpan<Byte>, Boolean) GetCharCount(ReadOnlySpan<Byte>, Boolean)
GetCharCount(Byte*, Int32, Boolean) GetCharCount(Byte*, Int32, Boolean) GetCharCount(Byte*, Int32, Boolean)

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes a partir del puntero de bytes especificado.When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. Un parámetro indica si se debe borrar el estado interno del descodificador después del cálculo.A parameter indicates whether to clear the internal state of the decoder after the calculation.

GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, Int32)

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes de la matriz de bytes especificada.When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(Byte[], Int32, Int32, Boolean) GetCharCount(Byte[], Int32, Int32, Boolean) GetCharCount(Byte[], Int32, Int32, Boolean) GetCharCount(Byte[], Int32, Int32, Boolean)

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes de la matriz de bytes especificada.When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. Un parámetro indica si se debe borrar el estado interno del descodificador después del cálculo.A parameter indicates whether to clear the internal state of the decoder after the calculation.

GetCharCount(ReadOnlySpan<Byte>, Boolean) GetCharCount(ReadOnlySpan<Byte>, Boolean) GetCharCount(ReadOnlySpan<Byte>, Boolean) GetCharCount(ReadOnlySpan<Byte>, Boolean)

public:
 virtual int GetCharCount(ReadOnlySpan<System::Byte> bytes, bool flush);
public virtual int GetCharCount (ReadOnlySpan<byte> bytes, bool flush);
abstract member GetCharCount : ReadOnlySpan<byte> * bool -> int
override this.GetCharCount : ReadOnlySpan<byte> * bool -> int
Public Overridable Function GetCharCount (bytes As ReadOnlySpan(Of Byte), flush As Boolean) As Integer

Parámetros

Devoluciones

GetCharCount(Byte*, Int32, Boolean) GetCharCount(Byte*, Int32, Boolean) GetCharCount(Byte*, Int32, Boolean)

Importante

Esta API no es conforme a CLS.

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes a partir del puntero de bytes especificado.When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer. Un parámetro indica si se debe borrar el estado interno del descodificador después del cálculo.A parameter indicates whether to clear the internal state of the decoder after the calculation.

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

Parámetros

bytes
Byte*

Puntero al primer byte que se va a descodificar.A pointer to the first byte to decode.

count
Int32 Int32 Int32 Int32

Número de bytes que se van a descodificar.The number of bytes to decode.

flush
Boolean Boolean Boolean Boolean

true para simular el borrado del estado interno del codificador después del cálculo; de lo contrario, false.true to simulate clearing the internal state of the encoder after the calculation; otherwise, false.

Devoluciones

Número de caracteres que se generan al descodificar la secuencia especificada de bytes y los bytes del búfer interno.The number of characters produced by decoding the specified sequence of bytes and any bytes in the internal buffer.

Excepciones

bytes es null (Nothing en Visual Basic .NET).bytes is null (Nothing in Visual Basic .NET).

Se ha producido una acción de reserva (vea Codificación de caracteres en .NET Framework para obtener una explicación completa)A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation) - y --and- El valor de Fallback está establecido en DecoderExceptionFallback.Fallback is set to DecoderExceptionFallback.

Comentarios

Este método no afecta al estado del descodificador.This method does not affect the state of the decoder.

Para calcular el tamaño exacto de la GetChars matriz que requiere para almacenar los caracteres resultantes, la GetCharCountaplicación debe usar.To calculate the exact array size that GetChars requires to store the resulting characters, the application should use GetCharCount.

Si GetChars se llama a flush con establecido falseen, el descodificador almacena los bytes finales al final del bloque de datos en un búfer interno y los usa en la siguiente operación de descodificación.If GetChars is called with flush set to false, the decoder stores trailing bytes at the end of the data block in an internal buffer and uses them in the next decoding operation. La aplicación debe llamar GetCharCount a en un bloque de datos inmediatamente antes GetChars de llamar a en el mismo bloque, de modo que los bytes finales del bloque anterior se incluyan en el cálculo.The application should call GetCharCount on a block of data immediately before calling GetChars on the same block, so that any trailing bytes from the previous block are included in the calculation.

Seguridad

SecurityCriticalAttribute
requiere plena confianza para el llamador inmediato.Requires full trust for the immediate caller. Este miembro no puede ser utilizado por código transparente o de confianza parcial.This member cannot be used by partially trusted or transparent code.

Consulte también:

GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, Int32)

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes de la matriz de bytes especificada.When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

public:
 abstract int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public abstract int GetCharCount (byte[] bytes, int index, int count);
abstract member GetCharCount : byte[] * int * int -> int
Public MustOverride Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer

Parámetros

bytes
Byte[]

Matriz de bytes que contiene la secuencia de bytes que se va a descodificar.The byte array containing the sequence of bytes to decode.

index
Int32 Int32 Int32 Int32

Índice del primer byte que se va a descodificar.The index of the first byte to decode.

count
Int32 Int32 Int32 Int32

Número de bytes que se van a descodificar.The number of bytes to decode.

Devoluciones

Número de caracteres que se generan al descodificar la secuencia especificada de bytes y los bytes del búfer interno.The number of characters produced by decoding the specified sequence of bytes and any bytes in the internal buffer.

Excepciones

index o count es menor que cero.index or count is less than zero.

o bien-or- index y count no denotan un intervalo válido en bytes.index and count do not denote a valid range in bytes.

Se ha producido una acción de reserva (vea Codificación de caracteres en .NET Framework para obtener una explicación completa)A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation) - y --and- El valor de Fallback está establecido en DecoderExceptionFallback.Fallback is set to DecoderExceptionFallback.

Ejemplos

En el ejemplo de código siguiente se muestra cómo GetCharCount utilizar el método para calcular el número de caracteres necesarios para descodificar el intervalo de bytes especificado en la matriz.The following code example demonstrates how to use the GetCharCount method to calculate the number of characters required to decode the specified range of bytes in the array.

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};
   Decoder^ uniDecoder = Encoding::Unicode->GetDecoder();
   int charCount = uniDecoder->GetCharCount( bytes, 0, bytes->Length );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}

/* This code example produces the following output.

7 characters needed to decode bytes.

*/

using System;
using System.Text;

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

        Decoder uniDecoder = Encoding.Unicode.GetDecoder();
        int charCount = uniDecoder.GetCharCount(bytes, 0, bytes.Length);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}

/* This code example produces the following output.

7 characters needed to decode bytes.

*/
Imports System.Text

Class DecoderExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0 _
        }
        
        Dim uniDecoder As Decoder = Encoding.Unicode.GetDecoder()
        Dim charCount As Integer = uniDecoder.GetCharCount(bytes, 0, bytes.Length)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

'This code example produces the following output.
'
'7 characters needed to decode bytes.
'

Comentarios

Este método no afecta al estado del descodificador.This method does not affect the state of the decoder.

Para calcular el tamaño exacto de la GetChars matriz que requiere para almacenar los caracteres resultantes, la GetCharCountaplicación debe usar.To calculate the exact array size that GetChars requires to store the resulting characters, the application should use GetCharCount.

Si GetChars se llama a flush con establecido falseen, el descodificador almacena los bytes finales al final del bloque de datos en un búfer interno y los usa en la siguiente operación de descodificación.If GetChars is called with flush set to false, the decoder stores trailing bytes at the end of the data block in an internal buffer and uses them in the next decoding operation. La aplicación debe llamar GetCharCount a en un bloque de datos inmediatamente antes GetChars de llamar a en el mismo bloque, de modo que los bytes finales del bloque anterior se incluyan en el cálculo.The application should call GetCharCount on a block of data immediately before calling GetChars on the same block, so that any trailing bytes from the previous block are included in the calculation.

Consulte también:

GetCharCount(Byte[], Int32, Int32, Boolean) GetCharCount(Byte[], Int32, Int32, Boolean) GetCharCount(Byte[], Int32, Int32, Boolean) GetCharCount(Byte[], Int32, Int32, Boolean)

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes de la matriz de bytes especificada.When overridden in a derived class, calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. Un parámetro indica si se debe borrar el estado interno del descodificador después del cálculo.A parameter indicates whether to clear the internal state of the decoder after the calculation.

public:
 virtual int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count, bool flush);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetCharCount (byte[] bytes, int index, int count, bool flush);
abstract member GetCharCount : byte[] * int * int * bool -> int
override this.GetCharCount : byte[] * int * int * bool -> int
Public Overridable Function GetCharCount (bytes As Byte(), index As Integer, count As Integer, flush As Boolean) As Integer

Parámetros

bytes
Byte[]

Matriz de bytes que contiene la secuencia de bytes que se va a descodificar.The byte array containing the sequence of bytes to decode.

index
Int32 Int32 Int32 Int32

Índice del primer byte que se va a descodificar.The index of the first byte to decode.

count
Int32 Int32 Int32 Int32

Número de bytes que se van a descodificar.The number of bytes to decode.

flush
Boolean Boolean Boolean Boolean

true para simular el borrado del estado interno del codificador después del cálculo; de lo contrario, false.true to simulate clearing the internal state of the encoder after the calculation; otherwise, false.

Devoluciones

Número de caracteres que se generan al descodificar la secuencia especificada de bytes y los bytes del búfer interno.The number of characters produced by decoding the specified sequence of bytes and any bytes in the internal buffer.

Excepciones

index o count es menor que cero.index or count is less than zero.

o bien-or- index y count no denotan un intervalo válido en bytes.index and count do not denote a valid range in bytes.

Se ha producido una acción de reserva (vea Codificación de caracteres en .NET Framework para obtener una explicación completa)A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation) - y --and- El valor de Fallback está establecido en DecoderExceptionFallback.Fallback is set to DecoderExceptionFallback.

Comentarios

Este método no afecta al estado del descodificador.This method does not affect the state of the decoder.

Para calcular el tamaño exacto de la GetChars matriz que requiere para almacenar los caracteres resultantes, la GetCharCountaplicación debe usar.To calculate the exact array size that GetChars requires to store the resulting characters, the application should use GetCharCount.

Si GetChars se llama a flush con establecido falseen, el descodificador almacena los bytes finales al final del bloque de datos en un búfer interno y los usa en la siguiente operación de descodificación.If GetChars is called with flush set to false, the decoder stores trailing bytes at the end of the data block in an internal buffer and uses them in the next decoding operation. La aplicación debe llamar GetCharCount a en un bloque de datos inmediatamente antes GetChars de llamar a en el mismo bloque, de modo que los bytes finales del bloque anterior se incluyan en el cálculo.The application should call GetCharCount on a block of data immediately before calling GetChars on the same block, so that any trailing bytes from the previous block are included in the calculation.

Consulte también:

Se aplica a