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 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.
Note
UTF7Encoding не предоставляет обнаружение ошибок. По соображениям безопасности приложение должно использовать UTF8EncodingUnicodeEncodingили UTF32Encoding включить обнаружение ошибок.
Дополнительные сведения о UTFs и других кодировках, поддерживаемых System.Text, см. в разделе "Кодировка символов" в .NET Framework.
Метод GetByteCount определяет, сколько байтов приводит к кодированию набора символов Юникода, а GetBytes метод выполняет фактическую кодировку.
Аналогичным образом, GetCharCount метод определяет, сколько символов приводит к декодированию последовательности байтов, а GetCharsGetString методы выполняют фактическое декодирование.
UTF7Encoding соответствует кодовой странице Windows 65000.
Note
Состояние закодированного объекта 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) для текущей кодировки. (Унаследовано от Encoding) |
| WindowsCodePage |
При переопределении в производном классе получает кодовую страницу операционной системы Windows, которая наиболее тесно соответствует текущей кодировке. (Унаследовано от Encoding) |
Методы
| Имя | Описание |
|---|---|
| Clone() |
При переопределении в производном классе создает неглубокую копию текущего Encoding объекта. (Унаследовано от Encoding) |
| Equals(Object) |
Возвращает значение, указывающее, равен ли указанный объект текущему UTF7Encoding объекту. |
| Equals(Object) |
Определяет, равен ли указанный Object экземпляр текущему экземпляру. (Унаследовано от Encoding) |
| GetByteCount(Char[], Int32, Int32) |
Вычисляет количество байтов, созданных путем кодирования набора символов из указанного массива символов. |
| GetByteCount(Char[]) |
При переопределении в производном классе вычисляет количество байтов, созданных путем кодирования всех символов в указанном массиве символов. (Унаследовано от Encoding) |
| GetByteCount(Char*, Int32) |
Вычисляет количество байтов, созданных путем кодирования набора символов, начиная с указанного указателя символов. |
| GetByteCount(ReadOnlySpan<Char>) |
При переопределении в производном классе вычисляет количество байтов, созданных путем кодирования символов в указанном диапазоне символов. (Унаследовано от Encoding) |
| GetByteCount(String, Int32, Int32) |
При переопределении в производном классе вычисляет количество байтов, созданных путем кодирования набора символов из указанной строки. (Унаследовано от Encoding) |
| GetByteCount(String) |
Вычисляет количество байтов, созданных путем кодирования символов в указанном String объекте. |
| GetByteCount(String) |
При переопределении в производном классе вычисляет количество байтов, созданных путем кодирования символов в указанной строке. (Унаследовано от Encoding) |
| GetBytes(Char[], Int32, Int32, Byte[], Int32) |
Кодирует набор символов из указанного массива символов в указанный массив байтов. |
| GetBytes(Char[], Int32, Int32) |
При переопределении в производном классе кодирует набор символов из указанного массива символов в последовательность байтов. (Унаследовано от Encoding) |
| GetBytes(Char[]) |
При переопределении в производном классе кодирует все символы в указанном массиве символов в последовательность байтов. (Унаследовано от Encoding) |
| GetBytes(Char*, Int32, Byte*, Int32) |
Кодирует набор символов, начиная с указанного указателя символов, в последовательность байтов, хранящихся начиная с указанного указателя байтов. |
| GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
При переопределении в производном классе кодируется в диапазон байтов набор символов из указанного диапазона только для чтения. (Унаследовано от Encoding) |
| GetBytes(String, Int32, Int32, Byte[], Int32) |
Кодирует набор символов из указанного в указанный String массив байтов. |
| GetBytes(String, Int32, Int32, Byte[], Int32) |
При переопределении в производном классе кодирует набор символов из указанной строки в указанный массив байтов. (Унаследовано от Encoding) |
| GetBytes(String, Int32, Int32) |
При переопределении в производном классе кодируется в массив байтов число символов, указанных |
| GetBytes(String) |
При переопределении в производном классе кодирует все символы в указанной строке в последовательность байтов. (Унаследовано от Encoding) |
| GetCharCount(Byte[], Int32, Int32) |
Вычисляет количество символов, созданных путем декодирования последовательности байтов из указанного массива байтов. |
| GetCharCount(Byte[]) |
При переопределении в производном классе вычисляет количество символов, созданных путем декодирования всех байтов в указанном массиве байтов. (Унаследовано от Encoding) |
| GetCharCount(Byte*, Int32) |
Вычисляет количество символов, созданных путем декодирования последовательности байтов, начиная с указанного указателя байтов. |
| GetCharCount(ReadOnlySpan<Byte>) |
При переопределении в производном классе вычисляет количество символов, созданных путем декодирования предоставленного диапазона байтов только для чтения. (Унаследовано от Encoding) |
| GetChars(Byte[], Int32, Int32, Char[], Int32) |
Декодирует последовательность байтов из указанного массива байтов в указанный массив символов. |
| GetChars(Byte[], Int32, Int32) |
При переопределении в производном классе декодирует последовательность байтов из указанного массива байтов в набор символов. (Унаследовано от Encoding) |
| GetChars(Byte[]) |
При переопределении в производном классе декодирует все байты в указанном массиве байтов в набор символов. (Унаследовано от Encoding) |
| GetChars(Byte*, 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, Int32) |
Декодирует диапазон байтов из массива байтов в строку. |
| GetString(Byte[], Int32, Int32) |
При переопределении в производном классе декодирует последовательность байтов из указанного массива байтов в строку. (Унаследовано от Encoding) |
| GetString(Byte[]) |
При переопределении в производном классе декодирует все байты в указанном массиве байтов в строку. (Унаследовано от Encoding) |
| GetString(Byte*, Int32) |
При переопределении в производном классе декодирует указанное число байтов, начиная с указанного адреса в строку. (Унаследовано от Encoding) |
| GetString(ReadOnlySpan<Byte>) |
При переопределении в производном классе декодирует все байты в указанном диапазоне байтов в строку. (Унаследовано от Encoding) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsAlwaysNormalized() |
Возвращает значение, указывающее, всегда ли текущая кодировка нормализована, используя форму нормализации по умолчанию. (Унаследовано от Encoding) |
| IsAlwaysNormalized(NormalizationForm) |
При переопределении в производном классе получает значение, указывающее, всегда ли текущая кодировка нормализована, используя указанную форму нормализации. (Унаследовано от Encoding) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |