Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Encoding.WebName Property

Definition

Namespace:
System.Text
Assemblies:
mscorlib.dll, System.Text.Encoding.dll
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Text.Encoding.dll
Assembly:
System.Runtime.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll
Source:
Encoding.cs
Source:
Encoding.cs
Source:
Encoding.cs
Source:
Encoding.cs
Source:
Encoding.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding.

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

Property Value

The IANA name for the current Encoding.

Examples

The following example includes the WebName in an HTML header.

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>
'

The following example retrieves the different names for each encoding and displays the encodings with one or more names that are different from EncodingInfo.Name. It displays EncodingName but does not compare against it.

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)

Remarks

The WebName property is the same as the Name property.

Note that WebName returns an IANA-registered name for the encoding. When its value is the name of a standard, the implementation of the encoding might not conform in full to that standard. The HeaderName property defines a different encoding that might work better for email headers. However, most apps should use WebName instead.

For more information on the IANA, go to www.iana.org.

The Encoding.WebName is the same as the EncodingInfo.Name returned by Encoding.GetEncodings. Some of the web names are duplicates; see the remarks for Encoding.GetEncodings for more information.

Applies to

See also


Feedback

Was this page helpful?