Encoder.GetByteCount Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères.
Surcharges
| Nom | Description |
|---|---|
| GetByteCount(ReadOnlySpan<Char>, Boolean) |
En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères dans l’étendue « chars ». Un paramètre indique s’il faut effacer l’état interne de l’encodeur après le calcul. |
| GetByteCount(Char*, Int32, Boolean) |
En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères commençant par le pointeur de caractères spécifié. Un paramètre indique s’il faut effacer l’état interne de l’encodeur après le calcul. |
| GetByteCount(Char[], Int32, Int32, Boolean) |
En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères à partir du tableau de caractères spécifié. Un paramètre indique s’il faut effacer l’état interne de l’encodeur après le calcul. |
Remarques
Cette méthode n’affecte pas l’état de l’encodeur.
Pour calculer la taille exacte du tableau qui GetBytes nécessite de stocker les octets résultants, l’application doit utiliser GetByteCount.
Si GetBytes elle est appelée avec flush la valeur définie false, l’encodeur stocke les caractères de fin du bloc de données à la fin du bloc de données dans une mémoire tampon interne et les utilise dans l’opération d’encodage suivante. L’application doit appeler GetByteCount un bloc de données immédiatement avant d’appeler GetBytes le même bloc afin que les caractères de fin du bloc précédent soient inclus dans le calcul.
GetByteCount(ReadOnlySpan<Char>, Boolean)
En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères dans l’étendue « chars ». Un paramètre indique s’il faut effacer l’état interne de l’encodeur après le calcul.
public:
virtual int GetByteCount(ReadOnlySpan<char> chars, bool flush);
public virtual int GetByteCount(ReadOnlySpan<char> chars, bool flush);
abstract member GetByteCount : ReadOnlySpan<char> * bool -> int
override this.GetByteCount : ReadOnlySpan<char> * bool -> int
Public Overridable Function GetByteCount (chars As ReadOnlySpan(Of Char), flush As Boolean) As Integer
Paramètres
- chars
- ReadOnlySpan<Char>
Étendue de caractères à encoder.
- flush
- Boolean
true pour simuler l’effacement de l’état interne de l’encodeur après le calcul ; sinon, false.
Retours
Nombre d’octets générés par l’encodage des caractères spécifiés et de tous les caractères dans la mémoire tampon interne.
S’applique à
GetByteCount(Char*, Int32, Boolean)
Important
Cette API n’est pas conforme CLS.
En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères commençant par le pointeur de caractères spécifié. Un paramètre indique s’il faut effacer l’état interne de l’encodeur après le calcul.
public:
virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
public virtual int GetByteCount(char* chars, int count, bool flush);
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
Paramètres
- chars
- Char*
Pointeur vers le premier caractère à encoder.
- count
- Int32
Nombre de caractères à encoder.
- flush
- Boolean
true pour simuler l’effacement de l’état interne de l’encodeur après le calcul ; sinon, false.
Retours
Nombre d’octets générés par l’encodage des caractères spécifiés et de tous les caractères dans la mémoire tampon interne.
- Attributs
Exceptions
chars est null (Nothing dans Visual Basic .NET).
count est inférieur à zéro.
Un secours s’est produit (pour plus d’informations, consultez Encodage de caractères dans .NET)
-et-
Fallback a la valeur EncoderExceptionFallback.
Voir aussi
S’applique à
GetByteCount(Char[], Int32, Int32, Boolean)
En cas de substitution dans une classe dérivée, calcule le nombre d’octets produits par l’encodage d’un jeu de caractères à partir du tableau de caractères spécifié. Un paramètre indique s’il faut effacer l’état interne de l’encodeur après le calcul.
public:
abstract int GetByteCount(cli::array <char> ^ chars, int index, int count, bool flush);
public abstract int GetByteCount(char[] chars, int index, int count, bool flush);
abstract member GetByteCount : char[] * int * int * bool -> int
Public MustOverride Function GetByteCount (chars As Char(), index As Integer, count As Integer, flush As Boolean) As Integer
Paramètres
- chars
- Char[]
Tableau de caractères contenant le jeu de caractères à encoder.
- index
- Int32
Index du premier caractère à encoder.
- count
- Int32
Nombre de caractères à encoder.
- flush
- Boolean
true pour simuler l’effacement de l’état interne de l’encodeur après le calcul ; sinon, false.
Retours
Nombre d’octets générés par l’encodage des caractères spécifiés et de tous les caractères dans la mémoire tampon interne.
Exceptions
chars a la valeur null.
index ou count est inférieur à zéro.
-ou-
index et count ne désignent pas une plage valide en chars.
Un secours s’est produit (pour plus d’informations, consultez Encodage de caractères dans .NET)
-et-
Fallback a la valeur EncoderExceptionFallback.
Exemples
L’exemple de code suivant montre comment utiliser la GetByteCount méthode pour retourner le nombre d’octets requis pour encoder un tableau de caractères à l’aide d’un Unicode Encoder.
using System;
using System.Text;
class EncoderExample {
public static void Main() {
// Unicode characters.
Char[] chars = new Char[] {
'\u0023', // #
'\u0025', // %
'\u03a0', // Pi
'\u03a3' // Sigma
};
Encoder uniEncoder = Encoding.Unicode.GetEncoder();
int byteCount = uniEncoder.GetByteCount(chars, 0, chars.Length, true);
Console.WriteLine(
"{0} bytes needed to encode characters.", byteCount
);
}
}
/* This example produces the following output.
8 bytes needed to encode characters.
*/
Imports System.Text
Imports Microsoft.VisualBasic.Strings
Class EncoderExample
Public Shared Sub Main()
' Unicode characters.
' ChrW(35) = #
' ChrW(37) = %
' ChrW(928) = Pi
' ChrW(931) = Sigma
Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}
Dim uniEncoder As Encoder = Encoding.Unicode.GetEncoder()
Dim byteCount As Integer = _
uniEncoder.GetByteCount(chars, 0, chars.Length, True)
Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
End Sub
End Class
'
'This example produces the following output.
'
'8 bytes needed to encode characters.
'