共用方式為


Encoding.WebName 屬性

定義

在衍生類別中覆寫時,若要取得目前的編碼方式,請取得向 Internet Assigned Numbers Authority (IANA) 註冊的名稱。

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

屬性值

目前 Encoding 的 IANA 名稱。

範例

下列範例會在 WebName 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>
'

下列範例會擷取每個編碼的不同名稱,並以不同于 EncodingInfo.Name 的一或多個名稱顯示編碼。 它會顯示 EncodingName ,但不會與它進行比較。

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)

備註

屬性 WebName 與 屬性相同 Name

請注意,傳 WebName 回編碼的 IANA 註冊名稱。 當其值是標準的名稱時,編碼的實作可能不符合該標準。 屬性 HeaderName 會定義不同的編碼方式,可能更適合電子郵件標頭。 不過,大部分的應用程式都應該改用 WebName

如需 IANA 的詳細資訊,請移至 www.iana.org

Encoding.WebName與 所 Encoding.GetEncodings 傳回的 相同 EncodingInfo.Name 。 有些 Web 名稱是重複的;如需詳細資訊, Encoding.GetEncodings 請參閱備註。

適用於

另請參閱