UTF8Encoding.GetCharCount Méthode

Définition

Calcule le nombre de caractères produits par le décodage d'une séquence d'octets.

Surcharges

GetCharCount(Byte[], Int32, Int32)

Calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié.

GetCharCount(ReadOnlySpan<Byte>)

Calcule le nombre de caractères produits par le décodage de l’étendue d’octets spécifiée.

GetCharCount(Byte*, Int32)

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

GetCharCount(Byte[], Int32, Int32)

Calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié.

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

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

Int32

Nombre de caractères produits par le décodage de la séquence d'octets spécifiée.

Exceptions

bytes a la valeur null.

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

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

  • ou - Le nombre d’octets résultant est supérieur au nombre maximal accepté pour un entier.

La détection d’erreurs est activée et bytes contient une séquence d’octets non valide.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET) -et- DecoderFallback a la valeur DecoderExceptionFallback.

Exemples

L’exemple suivant utilise la GetCharCount méthode pour retourner le nombre de caractères produits par le décodage d’une plage d’éléments dans un tableau d’octets.

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

Remarques

Pour calculer la taille exacte du tableau requise par GetChars pour stocker les caractères résultants, appelez la GetCharCount méthode. Pour calculer la taille maximale du tableau, appelez la GetMaxCharCount méthode. La GetCharCount méthode alloue généralement moins de mémoire, tandis que la GetMaxCharCount méthode s’exécute généralement plus rapidement.

Avec la détection d’erreurs, une séquence non valide entraîne la levée d’une exception par cette méthode ArgumentException . Sans la détection d’erreurs, les séquences non valides sont ignorées et aucune exception n’est levée.

Voir aussi

S’applique à

GetCharCount(ReadOnlySpan<Byte>)

Calcule le nombre de caractères produits par le décodage de l’étendue d’octets spécifiée.

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

Paramètres

bytes
ReadOnlySpan<Byte>

Étendue contenant le jeu d’octets à décoder.

Retours

Int32

Nombre de caractères produits par le décodage de l’étendue d’octets spécifiée.

Remarques

Pour calculer la taille exacte requise par GetChars pour stocker les caractères résultants, appelez la GetCharCount méthode. Pour calculer la taille maximale, appelez la GetMaxCharCount méthode. La GetCharCount méthode alloue généralement moins de mémoire, tandis que la GetMaxCharCount méthode s’exécute généralement plus rapidement.

Avec la détection d’erreurs, une séquence non valide entraîne la levée d’une exception par cette méthode ArgumentException . Sans la détection d’erreurs, les séquences non valides sont ignorées et aucune exception n’est levée.

S’applique à

GetCharCount(Byte*, Int32)

Important

Cette API n’est pas conforme CLS.

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

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

Paramètres

bytes
Byte*

Pointeur du premier octet à décoder.

count
Int32

Nombre d'octets à décoder.

Retours

Int32

Nombre de caractères produits par le décodage de la séquence d'octets spécifiée.

Attributs

Exceptions

bytes a la valeur null.

count est inférieur à zéro.

  • ou - Le nombre d’octets résultant est supérieur au nombre maximal accepté pour un entier.

La détection d’erreurs est activée et bytes contient une séquence d’octets non valide.

Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET) -et- DecoderFallback a la valeur DecoderExceptionFallback.

Remarques

Pour calculer la taille exacte du tableau requise par GetChars pour stocker les caractères résultants, appelez la GetCharCount méthode. Pour calculer la taille maximale du tableau, appelez la GetMaxCharCount méthode. La GetCharCount méthode alloue généralement moins de mémoire, tandis que la GetMaxCharCount méthode s’exécute généralement plus rapidement.

Avec la détection d’erreurs, une séquence non valide entraîne la levée d’une exception par cette méthode ArgumentException . Sans la détection d’erreurs, les séquences non valides sont ignorées et aucune exception n’est levée.

Voir aussi

S’applique à