Partager via


Decoder.GetCharCount Méthode

Définition

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets.

Surcharges

GetCharCount(ReadOnlySpan<Byte>, Boolean)

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage de la séquence d'octets dans l’étendue. Un paramètre indique s’il convient d’effacer l’état interne du décodeur après le calcul.

GetCharCount(Byte*, Int32, Boolean)

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets commençant au pointeur d'octet spécifié. Un paramètre indique s’il convient d’effacer l’état interne du décodeur après le calcul.

GetCharCount(Byte[], Int32, Int32)

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié.

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

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié. Un paramètre indique s’il convient d’effacer l’état interne du décodeur après le calcul.

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Source:
Decoder.cs
Source:
Decoder.cs
Source:
Decoder.cs

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage de la séquence d'octets dans l’étendue. Un paramètre indique s’il convient d’effacer l’état interne du décodeur après le calcul.

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

Paramètres

bytes
ReadOnlySpan<Byte>

Étendue d’octets à décoder.

flush
Boolean

true pour simuler l’effacement de l’état interne de l’encodeur après le calcul ; sinon, false.

Retours

Nombre de caractères produits par le décodage de la séquence d’octets spécifiée et de tous les octets de la mémoire tampon interne.

Remarques

Cette méthode n’affecte pas l’état du décodeur.

Pour calculer la taille exacte de la mémoire tampon requise GetChars pour stocker les caractères résultants, l’application doit utiliser GetCharCount.

Si GetChars est appelé avec flush la valeur définie sur false, le décodeur stocke les octets de fin à la fin du bloc de données dans une mémoire tampon interne et les utilise dans l’opération de décodage suivante. L’application doit appeler GetCharCount sur un bloc de données immédiatement avant d’appeler GetChars sur le même bloc, afin que tous les octets de fin du bloc précédent soient inclus dans le calcul.

S’applique à

GetCharCount(Byte*, Int32, Boolean)

Source:
Decoder.cs
Source:
Decoder.cs
Source:
Decoder.cs

Important

Cette API n’est pas conforme CLS.

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets commençant au pointeur d'octet spécifié. Un paramètre indique s’il convient d’effacer l’état interne du décodeur après le calcul.

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

Paramètres

bytes
Byte*

Pointeur du premier octet à décoder.

count
Int32

Nombre d'octets à décoder.

flush
Boolean

true pour simuler l’effacement de l’état interne de l’encodeur après le calcul ; sinon, false.

Retours

Nombre de caractères produits par le décodage de la séquence d’octets spécifiée et de tous les octets de la mémoire tampon interne.

Attributs

Exceptions

bytes est null (Nothing en Visual Basic .NET).

count est inférieur à zéro.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)

-et-

Fallback a la valeur DecoderExceptionFallback.

Remarques

Cette méthode n’affecte pas l’état du décodeur.

Pour calculer la taille exacte du tableau qui GetChars nécessite de stocker les caractères résultants, l’application doit utiliser GetCharCount.

Si GetChars est appelé avec flush la valeur définie sur false, le décodeur stocke les octets de fin à la fin du bloc de données dans une mémoire tampon interne et les utilise dans l’opération de décodage suivante. L’application doit appeler GetCharCount sur un bloc de données immédiatement avant d’appeler GetChars sur le même bloc, afin que tous les octets de fin du bloc précédent soient inclus dans le calcul.

Voir aussi

S’applique à

GetCharCount(Byte[], Int32, Int32)

Source:
Decoder.cs
Source:
Decoder.cs
Source:
Decoder.cs

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié.

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

Paramètres

bytes
Byte[]

Tableau d'octets contenant la séquence d'octets à décoder.

index
Int32

Index du premier octet à décoder.

count
Int32

Nombre d'octets à décoder.

Retours

Nombre de caractères produits par le décodage de la séquence d’octets spécifiée et de tous les octets de la mémoire tampon interne.

Exceptions

bytes a la valeur null (Nothing).

index ou count est inférieur à zéro.

- ou -

index et count ne désignent pas une plage valide dans bytes.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)

-et-

Fallback a la valeur DecoderExceptionFallback.

Exemples

L’exemple de code suivant montre comment utiliser la GetCharCount méthode pour calculer le nombre de caractères requis pour décoder la plage d’octets spécifiée dans le tableau.

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.
'

Remarques

Cette méthode n’affecte pas l’état du décodeur.

Pour calculer la taille exacte du tableau qui GetChars nécessite de stocker les caractères résultants, l’application doit utiliser GetCharCount.

Si GetChars est appelé avec flush la valeur définie sur false, le décodeur stocke les octets de fin à la fin du bloc de données dans une mémoire tampon interne et les utilise dans l’opération de décodage suivante. L’application doit appeler GetCharCount sur un bloc de données immédiatement avant d’appeler GetChars sur le même bloc, afin que tous les octets de fin du bloc précédent soient inclus dans le calcul.

Voir aussi

S’applique à

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

Source:
Decoder.cs
Source:
Decoder.cs
Source:
Decoder.cs

En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié. Un paramètre indique s’il convient d’effacer l’état interne du décodeur après le calcul.

public:
 virtual int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count, bool flush);
public virtual int GetCharCount (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
[<System.Runtime.InteropServices.ComVisible(false)>]
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

Paramètres

bytes
Byte[]

Tableau d'octets contenant la séquence d'octets à décoder.

index
Int32

Index du premier octet à décoder.

count
Int32

Nombre d'octets à décoder.

flush
Boolean

true pour simuler l’effacement de l’état interne de l’encodeur après le calcul ; sinon, false.

Retours

Nombre de caractères produits par le décodage de la séquence d’octets spécifiée et de tous les octets de la mémoire tampon interne.

Attributs

Exceptions

bytes a la valeur null (Nothing).

index ou count est inférieur à zéro.

- ou -

index et count ne désignent pas une plage valide dans bytes.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)

-et-

Fallback a la valeur DecoderExceptionFallback.

Remarques

Cette méthode n’affecte pas l’état du décodeur.

Pour calculer la taille exacte du tableau qui GetChars nécessite de stocker les caractères résultants, l’application doit utiliser GetCharCount.

Si GetChars est appelé avec flush la valeur définie sur false, le décodeur stocke les octets de fin à la fin du bloc de données dans une mémoire tampon interne et les utilise dans l’opération de décodage suivante. L’application doit appeler GetCharCount sur un bloc de données immédiatement avant d’appeler GetChars sur le même bloc, afin que tous les octets de fin du bloc précédent soient inclus dans le calcul.

Voir aussi

S’applique à