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
Атрибуты

Примеры

В следующем примере кода показано, как кодировать 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)

При переопределении в производном классе кодируется в массив байтов число символов, указанных count в указанной строке, начиная с указанного.index

(Унаследовано от Encoding)
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)

Применяется к

См. также раздел