UTF7Encoding Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет кодировку UTF-7 символов Юникода.
public ref class UTF7Encoding : System::Text::Encoding
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class UTF7Encoding : System.Text.Encoding
type UTF7Encoding = class
inherit Encoding
[<System.Serializable>]
type UTF7Encoding = class
inherit Encoding
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UTF7Encoding = class
inherit Encoding
Public Class UTF7Encoding
Inherits Encoding
- Наследование
- Атрибуты
Примеры
В следующем примере кода показано, как использовать UTF7Encoding для кодирования строки символов Юникода и сохранения их в массиве байтов. Обратите внимание, что при декодировании массива байтов обратно в строку данные не теряются.
using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
// Create a UTF-7 encoding.
UTF7Encoding^ utf7 = gcnew UTF7Encoding;
// A Unicode string with two characters outside a 7-bit code range.
String^ unicodeString = L"This Unicode string contains two characters with codes outside a 7-bit code range, Pi (\u03a0) and Sigma (\u03a3).";
Console::WriteLine( "Original string:" );
Console::WriteLine( unicodeString );
// Encode the string.
array<Byte>^encodedBytes = utf7->GetBytes( unicodeString );
Console::WriteLine();
Console::WriteLine( "Encoded bytes:" );
IEnumerator^ myEnum = encodedBytes->GetEnumerator();
while ( myEnum->MoveNext() )
{
Byte b = safe_cast<Byte>(myEnum->Current);
Console::Write( "[{0}]", b );
}
Console::WriteLine();
// Decode bytes back to string.
// Notice Pi and Sigma characters are still present.
String^ decodedString = utf7->GetString( encodedBytes );
Console::WriteLine();
Console::WriteLine( "Decoded bytes:" );
Console::WriteLine( decodedString );
}
using System;
using System.Text;
class UTF7EncodingExample {
public static void Main() {
// Create a UTF-7 encoding.
UTF7Encoding utf7 = new UTF7Encoding();
// A Unicode string with two characters outside a 7-bit code range.
String unicodeString =
"This Unicode string contains two characters " +
"with codes outside a 7-bit code range, " +
"Pi (\u03a0) and Sigma (\u03a3).";
Console.WriteLine("Original string:");
Console.WriteLine(unicodeString);
// Encode the string.
Byte[] encodedBytes = utf7.GetBytes(unicodeString);
Console.WriteLine();
Console.WriteLine("Encoded bytes:");
foreach (Byte b in encodedBytes) {
Console.Write("[{0}]", b);
}
Console.WriteLine();
// Decode bytes back to string.
// Notice Pi and Sigma characters are still present.
String decodedString = utf7.GetString(encodedBytes);
Console.WriteLine();
Console.WriteLine("Decoded bytes:");
Console.WriteLine(decodedString);
}
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings
Class UTF7EncodingExample
Public Shared Sub Main()
' Create a UTF-7 encoding.
Dim utf7 As New UTF7Encoding()
' A Unicode string with two characters outside a 7-bit code range.
Dim unicodeString As String = _
"This Unicode string contains two characters " & _
"with codes outside a 7-bit code range, " & _
"Pi (" & ChrW(928) & ") and Sigma (" & ChrW(931) & ")."
Console.WriteLine("Original string:")
Console.WriteLine(unicodeString)
' Encode the string.
Dim encodedBytes As Byte() = utf7.GetBytes(unicodeString)
Console.WriteLine()
Console.WriteLine("Encoded bytes:")
Dim b As Byte
For Each b In encodedBytes
Console.Write("[{0}]", b)
Next b
Console.WriteLine()
' Decode bytes back to string.
' Notice Pi and Sigma characters are still present.
Dim decodedString As String = utf7.GetString(encodedBytes)
Console.WriteLine()
Console.WriteLine("Decoded bytes:")
Console.WriteLine(decodedString)
End Sub
End Class
Комментарии
Кодирование - это процесс преобразования набора символов Юникода в последовательность байтов. Декодирование — это процесс преобразования последовательности закодированных байтов в набор символов Юникода.
Кодировка UTF-7 представляет символы Юникода в виде последовательностей 7-разрядных символов ASCII. Эта кодировка поддерживает определенные протоколы, для которых она требуется, чаще всего протоколы электронной почты или группы новостей. Так как UTF-7 не является особенно безопасным или надежным, а большинство современных систем допускают 8-разрядные кодировки, UTF-8 обычно следует использовать вместо UTF-7.
Примечание
UTF7Encoding не обеспечивает обнаружение ошибок. По соображениям безопасности приложение должно использовать UTF8Encoding, UnicodeEncodingили UTF32Encoding и включить обнаружение ошибок.
Дополнительные сведения о UTF и других кодировках, поддерживаемых System.Text, см. в разделе Кодировка символов в платформа .NET Framework.
GetByteCountМетод определяет, сколько байт приводит к кодированию набора символов Юникода, и GetBytes метод выполняет фактическую кодировку.
Аналогичным образом метод определяет, GetCharCount сколько символов приводит к декодированию последовательности байтов, а GetChars методы и GetString выполняют фактическое декодирование.
UTF7Encoding соответствует кодовой странице Windows 65000.
Примечание
Состояние объекта в кодировке UTF-7 не сохраняется, если объект сериализуется и десериализуется с использованием разных версий платформа .NET Framework.
Конструкторы
UTF7Encoding() |
Устаревшие..
Инициализирует новый экземпляр класса UTF7Encoding. |
UTF7Encoding(Boolean) |
Устаревшие..
Инициализирует новый экземпляр класса UTF7Encoding. Параметр указывает, разрешены ли дополнительные символы. |
Свойства
BodyName |
При переопределении в производном классе получает имя текущей кодировки, которое может использоваться с тегами текста сообщения почтового агента. (Унаследовано от Encoding) |
CodePage |
При переопределении в производном классе получает идентификатор кодовой страницы текущего объекта Encoding. (Унаследовано от Encoding) |
DecoderFallback |
Возвращает или задает объект DecoderFallback для текущего объекта Encoding. (Унаследовано от Encoding) |
EncoderFallback |
Возвращает или задает объект EncoderFallback для текущего объекта Encoding. (Унаследовано от Encoding) |
EncodingName |
При переопределении в производном классе получает описание текущей кодировки, которое может быть прочитано пользователем. (Унаследовано от Encoding) |
HeaderName |
При переопределении в производном классе получает имя текущей кодировки, которое может использоваться с тегами заголовка сообщения почтового агента. (Унаследовано от Encoding) |
IsBrowserDisplay |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться клиентами браузера для отображения содержимого. (Унаследовано от Encoding) |
IsBrowserSave |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться клиентами браузера для сохранения содержимого. (Унаследовано от Encoding) |
IsMailNewsDisplay |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться клиентами электронной почты и новостей для отображения содержимого. (Унаследовано от Encoding) |
IsMailNewsSave |
При переопределении в производном классе получает значение, указывающее, может ли текущая кодировка использоваться клиентами электронной почты и новостей для сохранения содержимого. (Унаследовано от Encoding) |
IsReadOnly |
При переопределении в производном классе получает значение, указывающее, является ли текущая кодировка доступной только для чтения. (Унаследовано от Encoding) |
IsSingleByte |
При переопределении в производном классе получает значение, указывающее, используются ли в текущей кодировке однобайтовые кодовые точки. (Унаследовано от Encoding) |
Preamble |
При переопределении в производном классе возвращает диапазон, содержащий последовательность байтов, задающую используемую кодировку. (Унаследовано от Encoding) |
WebName |
При переопределении в производном классе получает для текущей кодировки имя, зарегистрированное в IANA (Internet Assigned Numbers Authority). (Унаследовано от Encoding) |
WindowsCodePage |
При переопределении в производном классе получает кодовую страницу операционной системы Windows, наиболее точно соответствующую текущей кодировке. (Унаследовано от Encoding) |
Методы
Clone() |
При переопределении в производном классе создается неполная копия текущего объекта Encoding. (Унаследовано от Encoding) |
Equals(Object) |
Возвращает значение, позволяющее определить, равен ли указанный объект текущему объекту UTF7Encoding. |
Equals(Object) |
Определяет, равен ли указанный объект Object текущему экземпляру. (Унаследовано от Encoding) |
GetByteCount(Char*, Int32) |
Вычисляет число байтов, полученных при кодировании набора символов начиная с заданного указателя символа. |
GetByteCount(Char*, Int32) |
При переопределении в производном классе вычисляет количество байтов, полученных при кодировании набора символов, начиная с заданного указателя символа. (Унаследовано от Encoding) |
GetByteCount(Char[]) |
При переопределении в производном классе вычисляет количество байтов, полученных при кодировании всех символов из заданного массива символов. (Унаследовано от Encoding) |
GetByteCount(Char[], Int32, Int32) |
Вычисляет число байтов, полученных при кодировании набора символов из указанного массива символов. |
GetByteCount(ReadOnlySpan<Char>) |
При переопределении в производном классе вычисляет количество байтов, полученных при кодировании символов из заданного диапазона символов. (Унаследовано от Encoding) |
GetByteCount(String) |
Вычисляет количество байтов, полученных при кодировании символов в указанном объекте String. |
GetByteCount(String) |
При переопределении в производном классе вычисляет число байтов, полученных при кодировании символов в заданной строке. (Унаследовано от Encoding) |
GetByteCount(String, Int32, Int32) |
При переопределении в производном классе вычисляет количество байтов, полученных при кодировании набора символов из указанной строки. (Унаследовано от Encoding) |
GetBytes(Char*, Int32, Byte*, Int32) |
Кодирует набор символов, начало которого задается указателем символа, в последовательность байтов, которые сохраняются начиная с заданного указателя байта. |
GetBytes(Char*, Int32, Byte*, Int32) |
При переопределении в производном классе кодирует набор символов, начало которого задается указателем символа, в последовательность байтов, которые сохраняются, начиная с заданного указателя байта. (Унаследовано от Encoding) |
GetBytes(Char[]) |
При переопределении в производном классе кодирует все символы из указанного массива символов в последовательность байтов. (Унаследовано от Encoding) |
GetBytes(Char[], Int32, Int32) |
При переопределении в производном классе кодирует набор символов из указанного массива символов в последовательность байтов. (Унаследовано от Encoding) |
GetBytes(Char[], Int32, Int32, Byte[], Int32) |
Кодирует набор символов из заданного массива символов в указанный массив байтов. |
GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
При переопределении в производном классе кодирует в диапазон байтов набор символов из указанного диапазона только для чтения. (Унаследовано от Encoding) |
GetBytes(String) |
При переопределении в производном классе кодирует все символы заданной строки в последовательность байтов. (Унаследовано от Encoding) |
GetBytes(String, Int32, Int32) |
При переопределении в производном классе кодирует в массив байтов количество символов, заданных |
GetBytes(String, Int32, Int32, Byte[], Int32) |
Кодирует набор символов из заданного объекта String в указанный массив байтов. |
GetBytes(String, Int32, Int32, Byte[], Int32) |
При переопределении в производном классе кодирует набор символов из заданной строки в заданный массив байтов. (Унаследовано от Encoding) |
GetCharCount(Byte*, Int32) |
Вычисляет количество символов, полученных при декодировании последовательности байтов начиная с заданного указателя байта. |
GetCharCount(Byte*, Int32) |
При переопределении в производном классе вычисляет количество символов, полученных при декодировании последовательности байтов, начало которой задается указателем байтов. (Унаследовано от Encoding) |
GetCharCount(Byte[]) |
При переопределении в производном классе вычисляет количество символов, полученных при декодировании всех байтов из заданного массива байтов. (Унаследовано от Encoding) |
GetCharCount(Byte[], Int32, Int32) |
Вычисляет количество символов, полученных при декодировании последовательности байтов из заданного массива байтов. |
GetCharCount(ReadOnlySpan<Byte>) |
При переопределении в производном классе вычисляет количество символов, полученных при декодировании предоставленного диапазона байтов только для чтения. (Унаследовано от Encoding) |
GetChars(Byte*, Int32, Char*, Int32) |
Декодирует последовательность байтов, начало которой задается указателем байта, в набор символов, которые сохраняются начиная с заданного указателя символа. |
GetChars(Byte*, Int32, Char*, Int32) |
При переопределении в производном классе декодирует последовательность байтов, которая начинается с заданного указателя байта, в набор символов, которые сохраняются, начиная с заданного указателя символа. (Унаследовано от Encoding) |
GetChars(Byte[]) |
При переопределении в производном классе декодирует все байты из указанного массива байтов в набор символов. (Унаследовано от Encoding) |
GetChars(Byte[], Int32, Int32) |
При переопределении в производном классе декодирует последовательность байтов из указанного массива байтов в набор символов. (Унаследовано от Encoding) |
GetChars(Byte[], Int32, Int32, Char[], Int32) |
Декодирует последовательность байтов из заданного массива байтов в указанный массив символов. |
GetChars(ReadOnlySpan<Byte>, Span<Char>) |
При переопределении в производном классе декодирует все байты из диапазона байтов только для чтения в диапазон символов. (Унаследовано от Encoding) |
GetDecoder() |
Получает средство декодирования, преобразующее последовательность байтов в кодировке UTF-7 в последовательность символов Юникода. |
GetEncoder() |
Получает средство кодирования, преобразующее последовательность символов Юникода в последовательность байтов в кодировке UTF-7. |
GetHashCode() |
Возвращает хэш-код для текущего объекта UTF7Encoding. |
GetHashCode() |
Возвращает хэш-код текущего экземпляра. (Унаследовано от Encoding) |
GetMaxByteCount(Int32) |
Вычисляет максимальное количество байтов, полученных при кодировании заданного числа символов. |
GetMaxCharCount(Int32) |
Вычисляет максимальное количество символов, полученных при декодировании заданного числа байтов. |
GetPreamble() |
При переопределении в производном классе возвращает последовательность байтов, задающую используемую кодировку. (Унаследовано от Encoding) |
GetString(Byte*, Int32) |
При переопределении в производном классе декодирует указанное количество байтов начиная с указанного адреса в строку. (Унаследовано от Encoding) |
GetString(Byte[]) |
При переопределении в производном классе декодирует все байты из указанного массива байтов в строку. (Унаследовано от Encoding) |
GetString(Byte[], Int32, Int32) |
Декодирует диапазон байтов из массива байтов в строку. |
GetString(Byte[], Int32, Int32) |
При переопределении в производном классе декодирует последовательность байтов из указанного массива байтов в строку. (Унаследовано от Encoding) |
GetString(ReadOnlySpan<Byte>) |
При переопределении в производном классе декодирует все байты из указанного диапазона байтов в строку. (Унаследовано от Encoding) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IsAlwaysNormalized() |
Получает значение, которое указывает, является ли текущая кодировка всегда нормализованной с использованием формы нормализации по умолчанию. (Унаследовано от Encoding) |
IsAlwaysNormalized(NormalizationForm) |
При переопределении в производном классе получает значение, которое указывает, является ли текущая кодировка всегда нормализованной с использованием заданной по умолчанию формы нормализации. (Унаследовано от Encoding) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32) |
Кодирует в диапазон байтов набор символов из указанного диапазона только для чтения, если целевой объект достаточно велик. (Унаследовано от Encoding) |
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32) |
Декодирует в диапазон символов набор байтов из указанного диапазона только для чтения, если назначение достаточно велико. (Унаследовано от Encoding) |
Методы расширения
GetBytes(Encoding, ReadOnlySequence<Char>) |
Кодирует указанный объект ReadOnlySequence<T> в массив Byte, используя указанную кодировку Encoding. |
GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>) |
Декодирует указанный объект ReadOnlySequence<T> в |
GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>) |
Кодирует указанный объект ReadOnlySequence<T> в |
GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>) |
Кодирует указанный объект ReadOnlySpan<T> в |
GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>) |
Декодирует указанный объект ReadOnlySequence<T> в |
GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>) |
Декодирует указанный объект ReadOnlySequence<T> в |
GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>) |
Декодирует указанный объект ReadOnlySpan<T> в |
GetString(Encoding, ReadOnlySequence<Byte>) |
Декодирует указанный объект ReadOnlySequence<T> в String, используя указанную кодировку Encoding. |