Comparteix a través de


UTF8Encoding.GetCharCount Método

Definición

Calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes.

Sobrecargas

GetCharCount(Byte[], Int32, Int32)

Calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes a partir de la matriz de bytes especificada.

GetCharCount(Byte*, Int32)

Calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes a partir del puntero de bytes especificado.

GetCharCount(ReadOnlySpan<Byte>)

Calcula el número de caracteres generado al descodificar el intervalo de bytes especificado.

GetCharCount(Byte[], Int32, Int32)

Source:
UTF8Encoding.cs
Source:
UTF8Encoding.cs
Source:
UTF8Encoding.cs

Calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes a partir de la matriz de bytes especificada.

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[]

Matriz de bytes que contiene la secuencia de bytes que se va a descodificar.

index
Int32

Índice del primer byte que se va a descodificar.

count
Int32

Número de bytes que se van a descodificar.

Devoluciones

Número de caracteres que se generan al descodificar la secuencia especificada de bytes.

Excepciones

bytes es null.

index o count es menor que cero.

O bien

index y count no denotan un intervalo válido en bytes.

O bien

El número de bytes resultante es mayor que el número máximo que se puede devolver como entero.

Está habilitada la detección de errores, y bytes contiene una secuencia de bytes no válida.

Se ha producido una reserva (para más información, vea Codificación de caracteres en .NET)

- y -

El valor de DecoderFallback está establecido en DecoderExceptionFallback.

Ejemplos

En el ejemplo siguiente se usa el GetCharCount método para devolver el número de caracteres generados mediante la descodificación de un intervalo de elementos de una matriz de bytes.

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

Comentarios

Para calcular el tamaño exacto de la matriz requerido por GetChars para almacenar los caracteres resultantes, llame al GetCharCount método . Para calcular el tamaño máximo de la matriz, llame al GetMaxCharCount método. Por lo general, el GetCharCount método asigna menos memoria, mientras que el GetMaxCharCount método generalmente se ejecuta más rápido.

Con la detección de errores, una secuencia no válida hace que este método produzca una ArgumentException excepción. Sin la detección de errores, se omiten las secuencias no válidas y no se produce ninguna excepción.

Consulte también

Se aplica a

GetCharCount(Byte*, Int32)

Source:
UTF8Encoding.cs
Source:
UTF8Encoding.cs
Source:
UTF8Encoding.cs

Importante

Esta API no es conforme a CLS.

Calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes a partir del puntero de bytes especificado.

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

Parámetros

bytes
Byte*

Puntero al primer byte que se va a descodificar.

count
Int32

Número de bytes que se van a descodificar.

Devoluciones

Número de caracteres que se generan al descodificar la secuencia especificada de bytes.

Atributos

Excepciones

bytes es null.

count es menor que cero.

O bien

El número de bytes resultante es mayor que el número máximo que se puede devolver como entero.

Está habilitada la detección de errores, y bytes contiene una secuencia de bytes no válida.

Se ha producido una reserva (para más información, vea Codificación de caracteres en .NET)

- y -

El valor de DecoderFallback está establecido en DecoderExceptionFallback.

Comentarios

Para calcular el tamaño exacto de la matriz requerido por GetChars para almacenar los caracteres resultantes, llame al GetCharCount método . Para calcular el tamaño máximo de la matriz, llame al GetMaxCharCount método. Por lo general, el GetCharCount método asigna menos memoria, mientras que el GetMaxCharCount método generalmente se ejecuta más rápido.

Con la detección de errores, una secuencia no válida hace que este método produzca una ArgumentException excepción. Sin la detección de errores, se omiten las secuencias no válidas y no se produce ninguna excepción.

Consulte también

Se aplica a

GetCharCount(ReadOnlySpan<Byte>)

Source:
UTF8Encoding.cs
Source:
UTF8Encoding.cs
Source:
UTF8Encoding.cs

Calcula el número de caracteres generado al descodificar el intervalo de bytes especificado.

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>

Intervalo que contiene el conjunto de bytes que se descodificará.

Devoluciones

Número de caracteres generado al descodificar el intervalo de bytes especificado.

Comentarios

Para calcular el tamaño exacto requerido por GetChars para almacenar los caracteres resultantes, llame al GetCharCount método . Para calcular el tamaño máximo, llame al GetMaxCharCount método . Por lo general, el GetCharCount método asigna menos memoria, mientras que el GetMaxCharCount método generalmente se ejecuta más rápido.

Con la detección de errores, una secuencia no válida hace que este método produzca una ArgumentException excepción. Sin la detección de errores, se omiten las secuencias no válidas y no se produce ninguna excepción.

Se aplica a