Encoding.HeaderName Свойство
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе получает имя текущей кодировки, которое может использоваться с тегами заголовка сообщения почтового агента.
public:
virtual property System::String ^ HeaderName { System::String ^ get(); };
public virtual string HeaderName { get; }
member this.HeaderName : string
Public Overridable ReadOnly Property HeaderName As 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 метод со HeaderName свойством. Часто метод извлекает другую кодировку из тестовой кодировки, предоставляемой в вызове. Как правило, для получения такой кодировки требуются только приложения электронной почты.
В некоторых случаях значение BodyName свойства соответствует международным стандарту, который определяет эту кодировку. Это не означает, что реализация полностью соответствует этому стандарту.
Обратите внимание, что WebName возвращает имя, используемое для описания кодировки. HeaderNameСвойство определяет другую кодировку, которая может работать лучше для приложения электронной почты, например. Однако использовать свойство для определения кодировки не рекомендуется.