Encoding::WebName Property
When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding.
Assembly: mscorlib (in mscorlib.dll)
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 e-mail 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.
The following example includes the WebName in an HTML header.
#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> */
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 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) */
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1