Encoding.WebName Propriété
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, obtient le nom inscrit auprès de l'IANA (Internet Assigned Numbers Authority) pour l'encodage actuel.
public:
virtual property System::String ^ WebName { System::String ^ get(); };
public virtual string WebName { get; }
member this.WebName : string
Public Overridable ReadOnly Property WebName As String
Valeur de propriété
Nom IANA pour le Encoding actuel.
Exemples
L’exemple suivant comprend le WebName dans un en-tête html.
#using <System.dll>
#using <System.Web.dll>
using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Web;
int main()
{
// Use UTF8 encoding.
Encoding^ encoding = Encoding::UTF8;
StreamWriter^ writer = gcnew StreamWriter( "Encoding.html",false,encoding );
writer->WriteLine( "<html><head>" );
// Write charset attribute to the html file.
// writer -> WriteLine(S"<META HTTP-EQUIV=\"Content-Type\S" CONTENT=\"text/html; charset=S {0}", encoding.WebName +"\S">");
writer->WriteLine( String::Concat( "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=", encoding->WebName, "\">" ) );
writer->WriteLine( "</head><body>" );
writer->WriteLine( "<p>{0}</p>", HttpUtility::HtmlEncode( encoding->EncodingName ) );
writer->WriteLine( "</body></html>" );
writer->Flush();
writer->Close();
}
/*
This code produces the following output in an HTML file.
<html><head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</head><body>
<p>Unicode (UTF-8)</p>
</body></html>
*/
using System;
using System.IO;
using System.Text;
using System.Web;
namespace WebNameExample
{
public class ExampleClass
{
public static void Main(string[] args)
{
// Use UTF8 encoding.
Encoding encoding = Encoding.UTF8;
StreamWriter writer = new StreamWriter("Encoding.html", false, encoding);
writer.WriteLine("<html><head>");
// Write charset attribute to the html file.
// The value of charset is returned by the WebName property.
writer.WriteLine("<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=" +
encoding.WebName +"\">");
writer.WriteLine("</head><body>");
writer.WriteLine("<p>" + HttpUtility.HtmlEncode(encoding.EncodingName) + "</p>");
writer.WriteLine("</body></html>");
writer.Flush();
writer.Close();
}
}
}
/*
This code produces the following output in an HTML file.
<html><head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</head><body>
<p>Unicode (UTF-8)</p>
</body></html>
*/
Imports System.IO
Imports System.Text
Imports System.Web
Namespace WebNameExample
Public Class ExampleClass
Public Overloads Shared Sub Main()
' Use UTF8 encoding.
Dim encoding As Encoding = Encoding.UTF8
Dim writer As New StreamWriter("Encoding.html", False, encoding)
writer.WriteLine("<html><head>")
' Write charset attribute to the html file.
writer.Write("<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html;")
writer.WriteLine(" charset=" + encoding.WebName + """>")
writer.WriteLine("</head><body>")
writer.WriteLine("<p>" + HttpUtility.HtmlEncode(encoding.EncodingName) + "</p>")
writer.WriteLine("</body></html>")
writer.Flush()
writer.Close()
End Sub
End Class
End Namespace
'This code produces the following output in an HTML file.
'<html><head>
'<META HTTP-EQUIV="Content-Type" CONTENT="text/html; 'charset=utf-8">
'</head><body>
'<p>Unicode (UTF-8)</p>
'</body></html>
'
L’exemple suivant récupère les différents noms pour chaque encodage et affiche les encodages avec un ou plusieurs noms qui sont différents de EncodingInfo.Name . Il affiche, EncodingName mais n’effectue pas de comparaison par rapport à celui-ci.
using namespace System;
using namespace System::Text;
int main()
{
// Print the header.
Console::Write( "Name " );
Console::Write( "CodePage " );
Console::Write( "BodyName " );
Console::Write( "HeaderName " );
Console::Write( "WebName " );
Console::WriteLine( "Encoding.EncodingName" );
// For every encoding, compare the name properties with EncodingInfo.Name.
// Display only the encodings that have one or more different names.
System::Collections::IEnumerator^ myEnum = Encoding::GetEncodings()->GetEnumerator();
while ( myEnum->MoveNext() )
{
EncodingInfo ^ ei = safe_cast<EncodingInfo ^>(myEnum->Current);
Encoding^ e = ei->GetEncoding();
if ( !ei->Name->Equals( e->BodyName ) || !ei->Name->Equals( e->HeaderName ) || !ei->Name->Equals( e->WebName ) )
{
Console::Write( "{0,-18} ", ei->Name );
Console::Write( "{0,-9} ", e->CodePage );
Console::Write( "{0,-18} ", e->BodyName );
Console::Write( "{0,-18} ", e->HeaderName );
Console::Write( "{0,-18} ", e->WebName );
Console::WriteLine( "{0} ", e->EncodingName );
}
}
}
/*
This code produces the following output.
Name CodePage BodyName HeaderName WebName Encoding.EncodingName
shift_jis 932 iso-2022-jp iso-2022-jp shift_jis Japanese (Shift-JIS)
windows-1250 1250 iso-8859-2 windows-1250 windows-1250 Central European (Windows)
windows-1251 1251 koi8-r windows-1251 windows-1251 Cyrillic (Windows)
Windows-1252 1252 iso-8859-1 Windows-1252 Windows-1252 Western European (Windows)
windows-1253 1253 iso-8859-7 windows-1253 windows-1253 Greek (Windows)
windows-1254 1254 iso-8859-9 windows-1254 windows-1254 Turkish (Windows)
csISO2022JP 50221 iso-2022-jp iso-2022-jp csISO2022JP Japanese (JIS-Allow 1 byte Kana)
iso-2022-kr 50225 iso-2022-kr euc-kr iso-2022-kr Korean (ISO)
*/
using System;
using System.Text;
public class SamplesEncoding {
public static void Main() {
// Print the header.
Console.Write( "Name " );
Console.Write( "CodePage " );
Console.Write( "BodyName " );
Console.Write( "HeaderName " );
Console.Write( "WebName " );
Console.WriteLine( "Encoding.EncodingName" );
// For every encoding, compare the name properties with EncodingInfo.Name.
// Display only the encodings that have one or more different names.
foreach( EncodingInfo ei in Encoding.GetEncodings() ) {
Encoding e = ei.GetEncoding();
if (( ei.Name != e.BodyName ) || ( ei.Name != e.HeaderName ) || ( ei.Name != e.WebName )) {
Console.Write( "{0,-18} ", ei.Name );
Console.Write( "{0,-9} ", e.CodePage );
Console.Write( "{0,-18} ", e.BodyName );
Console.Write( "{0,-18} ", e.HeaderName );
Console.Write( "{0,-18} ", e.WebName );
Console.WriteLine( "{0} ", e.EncodingName );
}
}
}
}
/*
This code produces the following output.
Name CodePage BodyName HeaderName WebName Encoding.EncodingName
shift_jis 932 iso-2022-jp iso-2022-jp shift_jis Japanese (Shift-JIS)
windows-1250 1250 iso-8859-2 windows-1250 windows-1250 Central European (Windows)
windows-1251 1251 koi8-r windows-1251 windows-1251 Cyrillic (Windows)
Windows-1252 1252 iso-8859-1 Windows-1252 Windows-1252 Western European (Windows)
windows-1253 1253 iso-8859-7 windows-1253 windows-1253 Greek (Windows)
windows-1254 1254 iso-8859-9 windows-1254 windows-1254 Turkish (Windows)
csISO2022JP 50221 iso-2022-jp iso-2022-jp csISO2022JP Japanese (JIS-Allow 1 byte Kana)
iso-2022-kr 50225 iso-2022-kr euc-kr iso-2022-kr Korean (ISO)
*/
Imports System.Text
Public Class SamplesEncoding
Public Shared Sub Main()
' Print the header.
Console.Write("Name ")
Console.Write("CodePage ")
Console.Write("BodyName ")
Console.Write("HeaderName ")
Console.Write("WebName ")
Console.WriteLine("Encoding.EncodingName")
' For every encoding, compare the name properties with EncodingInfo.Name.
' Display only the encodings that have one or more different names.
Dim ei As EncodingInfo
For Each ei In Encoding.GetEncodings()
Dim e As Encoding = ei.GetEncoding()
If ei.Name <> e.BodyName OrElse ei.Name <> e.HeaderName OrElse ei.Name <> e.WebName Then
Console.Write("{0,-18} ", ei.Name)
Console.Write("{0,-9} ", e.CodePage)
Console.Write("{0,-18} ", e.BodyName)
Console.Write("{0,-18} ", e.HeaderName)
Console.Write("{0,-18} ", e.WebName)
Console.WriteLine("{0} ", e.EncodingName)
End If
Next ei
End Sub
End Class
'This code produces the following output.
'
'Name CodePage BodyName HeaderName WebName Encoding.EncodingName
'shift_jis 932 iso-2022-jp iso-2022-jp shift_jis Japanese (Shift-JIS)
'windows-1250 1250 iso-8859-2 windows-1250 windows-1250 Central European (Windows)
'windows-1251 1251 koi8-r windows-1251 windows-1251 Cyrillic (Windows)
'Windows-1252 1252 iso-8859-1 Windows-1252 Windows-1252 Western European (Windows)
'windows-1253 1253 iso-8859-7 windows-1253 windows-1253 Greek (Windows)
'windows-1254 1254 iso-8859-9 windows-1254 windows-1254 Turkish (Windows)
'csISO2022JP 50221 iso-2022-jp iso-2022-jp csISO2022JP Japanese (JIS-Allow 1 byte Kana)
'iso-2022-kr 50225 iso-2022-kr euc-kr iso-2022-kr Korean (ISO)
Remarques
La WebName propriété est la même que la Name propriété.
Notez que WebName retourne un nom enregistré par l’IANA pour l’encodage. Lorsque sa valeur est le nom d’une norme, l’implémentation de l’encodage peut ne pas être entièrement conforme à cette norme. La HeaderName propriété définit un encodage différent qui peut fonctionner mieux pour les en-têtes de courrier électronique. Toutefois, la plupart des applications doivent utiliser à la WebName place.
Pour plus d’informations sur l’IANA, accédez à www.IANA.org.
Encoding.WebNameEst le même que le EncodingInfo.Name retourné par Encoding.GetEncodings . Certains noms Web sont des doublons ; pour Encoding.GetEncodings plus d’informations, consultez les notes.