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
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 si l'état interne de l'encodeur doit être effacé 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 au pointeur de caractère spécifié. Un paramètre indique si l'état interne de l'encodeur doit être effacé 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 du tableau de caractères spécifié. Un paramètre indique si l'état interne de l'encodeur doit être effacé 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
est appelé avec flush
la valeur définie false
sur , l’encodeur stocke les caractères de fin à 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
sur un bloc de données immédiatement avant d’appeler GetBytes
sur le même bloc, afin que tous les caractères de fin du bloc précédent soient inclus dans le calcul.
GetByteCount(ReadOnlySpan<Char>, Boolean)
- Source:
- Encoder.cs
- Source:
- Encoder.cs
- Source:
- Encoder.cs
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 si l'état interne de l'encodeur doit être effacé 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>
Une é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 produits en encodant les caractères spécifiés et ceux de la mémoire tampon interne.
S’applique à
GetByteCount(Char*, Int32, Boolean)
- Source:
- Encoder.cs
- Source:
- Encoder.cs
- Source:
- Encoder.cs
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 au pointeur de caractère spécifié. Un paramètre indique si l'état interne de l'encodeur doit être effacé après le calcul.
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)]
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)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<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
Paramètres
- chars
- Char*
Pointeur 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 produits en encodant les caractères spécifiés et ceux de la mémoire tampon interne.
- Attributs
Exceptions
chars
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 EncoderExceptionFallback.
Voir aussi
S’applique à
GetByteCount(Char[], Int32, Int32, Boolean)
- Source:
- Encoder.cs
- Source:
- Encoder.cs
- Source:
- Encoder.cs
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 du tableau de caractères spécifié. Un paramètre indique si l'état interne de l'encodeur doit être effacé 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 produits en encodant les caractères spécifiés et ceux de 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 dans chars
.
Un secours s’est produit (pour plus d’informations, consultez Codage 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 élément Unicode Encoder.
using namespace System;
using namespace System::Text;
int main()
{
// Unicode characters.
// Pi
// Sigma
array<Char>^chars = {L'\u03a0',L'\u03a3',L'\u03a6',L'\u03a9'};
Encoder^ uniEncoder = Encoding::Unicode->GetEncoder();
int byteCount = uniEncoder->GetByteCount( chars, 0, chars->Length, true );
Console::WriteLine( "{0} bytes needed to encode characters.", byteCount );
}
/* This code example produces the following output.
8 bytes needed to encode characters.
*/
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.
'