Encoding.WebName Własność
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Po zastąpieniu w klasie pochodnej pobiera nazwę zarejestrowaną w urzędzie IANA (Internet Assigned Numbers Authority) dla bieżącego kodowania.
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
Wartość nieruchomości
Nazwa IANA dla bieżącego Encodingelementu .
Przykłady
Poniższy przykład zawiera element WebName w nagłówku 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>
'
Poniższy przykład pobiera różne nazwy dla każdego kodowania i wyświetla kodowanie z co najmniej jedną nazwą inną niż EncodingInfo.Name. EncodingName Wyświetla, ale nie porównuje się z nim.
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)
Uwagi
Właściwość WebName jest taka sama jak Name właściwość .
Należy pamiętać, że WebName zwraca nazwę zarejestrowaną przez IANA dla kodowania. Gdy jego wartość jest nazwą standardu, implementacja kodowania może nie być w pełni zgodna z tym standardem. Właściwość HeaderName definiuje inne kodowanie, które może działać lepiej w przypadku nagłówków wiadomości e-mail. Jednak większość aplikacji powinna używać zamiast WebName tego.
Aby uzyskać więcej informacji na temat IANA, przejdź do www.iana.org.
Wartość Encoding.WebName jest taka sama jak zwracana przez Encoding.GetEncodingselement EncodingInfo.Name . Niektóre nazwy sieci Web są duplikatami; zobacz uwagi, aby Encoding.GetEncodings uzyskać więcej informacji.