UTF8Encoding Constructeurs
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.
Initialise une nouvelle instance de la classe UTF8Encoding.
Surcharges
UTF8Encoding() |
Initialise une nouvelle instance de la classe UTF8Encoding. |
UTF8Encoding(Boolean) |
Initialise une nouvelle instance de la classe UTF8Encoding. Un paramètre spécifie si une marque d'ordre d'octet Unicode doit être fournie. |
UTF8Encoding(Boolean, Boolean) |
Initialise une nouvelle instance de la classe UTF8Encoding. Les paramètres spécifient s'il faut fournir une marque d'ordre d'octet Unicode et si une exception doit être levée quand un encodage non valide est détecté. |
UTF8Encoding()
- Source:
- UTF8Encoding.cs
- Source:
- UTF8Encoding.cs
- Source:
- UTF8Encoding.cs
Initialise une nouvelle instance de la classe UTF8Encoding.
public:
UTF8Encoding();
public UTF8Encoding ();
Public Sub New ()
Exemples
L’exemple suivant crée une UTF8Encoding instance et affiche son nom.
using namespace System;
using namespace System::Text;
int main()
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
String^ encodingName = utf8->EncodingName;
Console::WriteLine( "Encoding name: {0}", encodingName );
}
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
UTF8Encoding utf8 = new UTF8Encoding();
String encodingName = utf8.EncodingName;
Console.WriteLine("Encoding name: " + encodingName);
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim utf8 As New UTF8Encoding()
Dim encodingName As String = utf8.EncodingName
Console.WriteLine("Encoding name: " & encodingName)
End Sub
End Class
Remarques
Ce constructeur crée une instance qui ne fournit pas de marque d’ordre d’octet Unicode et ne lève pas d’exception lorsqu’un encodage non valide est détecté.
Attention
Pour des raisons de sécurité, nous vous recommandons d’activer la détection des erreurs en appelant un constructeur avec un throwOnInvalidBytes
paramètre et en définissant sa valeur sur true
.
Voir aussi
S’applique à
UTF8Encoding(Boolean)
- Source:
- UTF8Encoding.cs
- Source:
- UTF8Encoding.cs
- Source:
- UTF8Encoding.cs
Initialise une nouvelle instance de la classe UTF8Encoding. Un paramètre spécifie si une marque d'ordre d'octet Unicode doit être fournie.
public:
UTF8Encoding(bool encoderShouldEmitUTF8Identifier);
public UTF8Encoding (bool encoderShouldEmitUTF8Identifier);
new System.Text.UTF8Encoding : bool -> System.Text.UTF8Encoding
Public Sub New (encoderShouldEmitUTF8Identifier As Boolean)
Paramètres
- encoderShouldEmitUTF8Identifier
- Boolean
true
pour spécifier que la méthode GetPreamble() retourne une marque d'ordre d'octet Unicode ; sinon, false
.
Exemples
L’exemple suivant crée une UTF8Encoding instance et spécifie qu’un préfixe de marque d’ordre d’octet Unicode doit être émis par la GetPreamble méthode . La GetPreamble méthode retourne ensuite le préfixe de marque d’ordre d’octet Unicode.
using namespace System;
using namespace System::Text;
using namespace System::Collections;
void ShowArray( Array^ theArray )
{
IEnumerator^ myEnum = theArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ o = safe_cast<Object^>(myEnum->Current);
Console::Write( "[{0}]", o );
}
Console::WriteLine();
}
int main()
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
UTF8Encoding^ utf8EmitBOM = gcnew UTF8Encoding( true );
Console::WriteLine( "utf8 preamble:" );
ShowArray( utf8->GetPreamble() );
Console::WriteLine( "utf8EmitBOM:" );
ShowArray( utf8EmitBOM->GetPreamble() );
}
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
UTF8Encoding utf8 = new UTF8Encoding();
UTF8Encoding utf8EmitBOM = new UTF8Encoding(true);
Console.WriteLine("utf8 preamble:");
ShowArray(utf8.GetPreamble());
Console.WriteLine("utf8EmitBOM:");
ShowArray(utf8EmitBOM.GetPreamble());
}
public static void ShowArray(Array theArray) {
foreach (Object o in theArray) {
Console.Write("[{0}]", o);
}
Console.WriteLine();
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim utf8 As New UTF8Encoding()
Dim utf8EmitBOM As New UTF8Encoding(True)
Console.WriteLine("utf8 preamble:")
ShowArray(utf8.GetPreamble())
Console.WriteLine("utf8EmitBOM:")
ShowArray(utf8EmitBOM.GetPreamble())
End Sub
Public Shared Sub ShowArray(theArray As Array)
Dim o As Object
For Each o In theArray
Console.Write("[{0}]", o)
Next o
Console.WriteLine()
End Sub
End Class
Remarques
Ce constructeur crée une instance qui ne lève pas d’exception lorsqu’un encodage non valide est détecté.
Attention
Pour des raisons de sécurité, vous devez activer la détection des erreurs en appelant un constructeur qui inclut un throwOnInvalidBytes
paramètre et en définissant sa valeur sur true
.
Le encoderShouldEmitUTF8Identifier
paramètre contrôle l’opération de la GetPreamble méthode . Si la valeur est true
, la méthode retourne un tableau d’octets contenant la marque d’ordre d’octet Unicode au format UTF-8. Si false
la valeur est , elle retourne un tableau d’octets de longueur nulle. Toutefois, la définition encoderShouldEmitUTF8Identifier
true
de sur n’oblige pas la GetBytes méthode à préfixer la nomenclature au début du tableau d’octets, ni à inclure le GetByteCount nombre d’octets dans la nomenclature dans le nombre d’octets.
Voir aussi
S’applique à
UTF8Encoding(Boolean, Boolean)
- Source:
- UTF8Encoding.cs
- Source:
- UTF8Encoding.cs
- Source:
- UTF8Encoding.cs
Initialise une nouvelle instance de la classe UTF8Encoding. Les paramètres spécifient s'il faut fournir une marque d'ordre d'octet Unicode et si une exception doit être levée quand un encodage non valide est détecté.
public:
UTF8Encoding(bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes);
public UTF8Encoding (bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes);
new System.Text.UTF8Encoding : bool * bool -> System.Text.UTF8Encoding
Public Sub New (encoderShouldEmitUTF8Identifier As Boolean, throwOnInvalidBytes As Boolean)
Paramètres
- encoderShouldEmitUTF8Identifier
- Boolean
true
pour spécifier que la méthode GetPreamble() doit retourner une marque d'ordre d'octet Unicode ; sinon, false
.
- throwOnInvalidBytes
- Boolean
true
pour lever une exception lorsqu'un encodage non valide est détecté ; sinon, false
.
Exemples
L’exemple suivant crée une UTF8Encoding instance en spécifiant que la GetPreamble méthode ne doit pas émettre de préfixe de marque d’ordre d’octet Unicode et qu’une exception doit être levée lorsqu’un encodage non valide est détecté. Le comportement de ce constructeur est comparé au constructeur par défaut UTF8Encoding() , qui ne lève pas d’exception lorsqu’un encodage non valide est détecté. Les deux UTF8Encoding instances encodent un tableau de caractères qui contient deux substituts élevés (U+D801 et U+D802) dans une ligne, qui est une séquence de caractères non valide ; un substitut élevé doit toujours être suivi d’un substitut faible.
using namespace System;
using namespace System::Text;
void ShowArray(Array^ theArray)
{
for each (Byte b in theArray) {
Console::Write( "{0:X2} ", b);
}
Console::WriteLine();
}
int main()
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
UTF8Encoding^ utf8ThrowException = gcnew UTF8Encoding(false,true);
// This array contains two high surrogates in a row (\uD801, \uD802).
array<Char>^chars = {'a','b','c',L'\xD801',L'\xD802','d'};
// The following method call will not throw an exception.
array<Byte>^bytes = utf8->GetBytes( chars );
ShowArray( bytes );
Console::WriteLine();
try {
// The following method call will throw an exception.
bytes = utf8ThrowException->GetBytes( chars );
}
catch (EncoderFallbackException^ e ) {
Console::WriteLine("{0} exception\nMessage:\n{1}",
e->GetType()->Name, e->Message);
}
}
using System;
using System.Text;
class Example
{
public static void Main()
{
UTF8Encoding utf8 = new UTF8Encoding();
UTF8Encoding utf8ThrowException = new UTF8Encoding(false, true);
// Create an array with two high surrogates in a row (\uD801, \uD802).
Char[] chars = new Char[] {'a', 'b', 'c', '\uD801', '\uD802', 'd'};
// The following method call will not throw an exception.
Byte[] bytes = utf8.GetBytes(chars);
ShowArray(bytes);
Console.WriteLine();
try {
// The following method call will throw an exception.
bytes = utf8ThrowException.GetBytes(chars);
ShowArray(bytes);
}
catch (EncoderFallbackException e) {
Console.WriteLine("{0} exception\nMessage:\n{1}",
e.GetType().Name, e.Message);
}
}
public static void ShowArray(Array theArray) {
foreach (Object o in theArray)
Console.Write("{0:X2} ", o);
Console.WriteLine();
}
}
// The example displays the following output:
// 61 62 63 EF BF BD EF BF BD 64
//
// EncoderFallbackException exception
// Message:
// Unable to translate Unicode character \uD801 at index 3 to specified code page.
Imports System.Text
Class Example
Public Shared Sub Main()
Dim utf8 As New UTF8Encoding()
Dim utf8ThrowException As New UTF8Encoding(False, True)
' Create an array with two high surrogates in a row (\uD801, \uD802).
Dim chars() As Char = {"a"c, "b"c, "c"c, ChrW(&hD801), ChrW(&hD802), "d"c}
' The following method call will not throw an exception.
Dim bytes As Byte() = utf8.GetBytes(chars)
ShowArray(bytes)
Console.WriteLine()
Try
' The following method call will throw an exception.
bytes = utf8ThrowException.GetBytes(chars)
ShowArray(bytes)
Catch e As EncoderFallbackException
Console.WriteLine("{0} exception{2}Message:{2}{1}",
e.GetType().Name, e.Message, vbCrLf)
End Try
End Sub
Public Shared Sub ShowArray(theArray As Array)
For Each o In theArray
Console.Write("{0:X2} ", o)
Next
Console.WriteLine()
End Sub
End Class
' The example displays the following output:
' 61 62 63 EF BF BD EF BF BD 64
'
' EncoderFallbackException exception
' Message:
' Unable to translate Unicode character \uD801 at index 3 to specified code page.
Remarques
Le encoderShouldEmitUTF8Identifier
paramètre contrôle l’opération de la GetPreamble méthode . Si la valeur est true
, la méthode retourne un tableau d’octets contenant la marque d’ordre d’octet Unicode au format UTF-8. Si false
la valeur est , elle retourne un tableau d’octets de longueur nulle. Toutefois, la définition encoderShouldEmitUTF8Identifier
true
de sur n’oblige pas la GetBytes méthode à préfixer la nomenclature au début du tableau d’octets, ni à inclure le GetByteCount nombre d’octets dans la nomenclature dans le nombre d’octets.
Si throwOnInvalidBytes
a la valeur true
, une méthode qui détecte une séquence d’octets non valide lève une System.ArgumentException exception. Sinon, la méthode ne lève pas d’exception et la séquence non valide est ignorée.
Attention
Pour des raisons de sécurité, vous devez activer la détection des erreurs en appelant un constructeur qui inclut un throwOnInvalidBytes
paramètre et en affectant à ce paramètre la valeur true
.