Encoding.BodyName 属性

定义

在派生类中重写时,获取可与邮件代理正文标记一起使用的当前编码的名称。

public:
 virtual property System::String ^ BodyName { System::String ^ get(); };
public virtual string BodyName { get; }
member this.BodyName : string
Public Overridable ReadOnly Property BodyName As String

属性值

String

可与邮件代理正文标记一起使用的当前 Encoding 的名称。

  • 或 -

如果当前 Encoding 无法使用,则为空字符串 ("")。

示例

下面的示例检索每个编码的不同名称,并显示一个或多个名称不同于的编码 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)

注解

如果需要主体名称的编码,则应 GetEncoding 使用 BodyName 属性调用。 通常,方法从调用中提供的测试编码检索不同的编码。 通常,电子邮件应用程序通常只需检索这样一种编码;需要描述编码的其他大多数应用程序应使用其 WebName

在某些情况下,属性的值 BodyName 对应于定义该编码的国际标准。 这并不意味着实现完全符合该标准。

适用于

另请参阅