Compartir a través de


Encoding.WebName Propiedad

Definición

Cuando se reemplaza en una clase derivada, obtiene el nombre registrado en IANA (Internet Assigned Numbers Authority) para la codificación actual.

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 de propiedad

Nombre IANA de la clase Encoding actual.

Ejemplos

En el ejemplo siguiente se incluye WebName en un encabezado 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>
'

En el ejemplo siguiente se recuperan los nombres diferentes para cada codificación y se muestran las codificaciones con uno o más nombres distintos de EncodingInfo.Name . Muestra EncodingName pero no se compara con él.

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)

Comentarios

La WebName propiedad es la misma que la Name propiedad.

Tenga en cuenta que WebName devuelve un nombre registrado en la IANA para la codificación. Cuando su valor es el nombre de un estándar, es posible que la implementación de la codificación no se ajuste al total de ese estándar. La HeaderName propiedad define una codificación diferente que podría funcionar mejor para los encabezados de correo electrónico. Sin embargo, en su lugar, la mayoría de las aplicaciones deben usar WebName .

Para obtener más información sobre la IANA, vaya a www.IANA.org.

Encoding.WebNameEs el mismo que el EncodingInfo.Name devuelto por Encoding.GetEncodings . Algunos de los nombres web son duplicados; Vea la sección Comentarios para Encoding.GetEncodings obtener más información.

Se aplica a

Consulte también