Encoding.WebName Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando substituído em uma classe derivada, obtém o nome registrado na IANA (Internet Assigned Numbers Authority) da codificação atual.
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
Valor da propriedade
O nome IANA do Encoding atual.
Exemplos
O exemplo a seguir inclui o WebName em um cabeçalho 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>
'
O exemplo a seguir recupera os nomes diferentes para cada codificação e exibe as codificações com um ou mais nomes diferentes de EncodingInfo.Name . Ele é exibido EncodingName , mas não se compara com ele.
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)
Comentários
A WebName propriedade é igual à Name propriedade.
Observe que WebName retorna um nome registrado pela IANA para a codificação. Quando seu valor é o nome de um padrão, a implementação da codificação pode não estar de acordo com esse padrão. A HeaderName propriedade define uma codificação diferente que pode funcionar melhor para cabeçalhos de email. No entanto, a maioria dos aplicativos deve usar WebName em vez disso.
Para obter mais informações sobre o IANA, acesse www.iana.org.
O Encoding.WebName é o mesmo que o EncodingInfo.Name retornado por Encoding.GetEncodings . Alguns dos nomes da Web são duplicatas; consulte os comentários para Encoding.GetEncodings obter mais informações.