Udostępnij za pośrednictwem


UTF7Encoding Klasa

Definicja

Reprezentuje kodowanie UTF-7 znaków Unicode.

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
Dziedziczenie
UTF7Encoding
Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak zakodować UTF7Encoding ciąg znaków Unicode i przechowywać je w tablicy bajtów. Zwróć uwagę, że gdy tablica bajtów zostanie zdekodowana z powrotem do ciągu, żadne dane nie zostaną utracone.

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

Uwagi

Kodowanie to proces przekształcania zestawu znaków Unicode w sekwencję bajtów. Dekodowanie to proces przekształcania sekwencji zakodowanych bajtów w zestaw znaków Unicode.

Kodowanie UTF-7 reprezentuje znaki Unicode jako sekwencje 7-bitowych znaków ASCII. To kodowanie obsługuje niektóre protokoły, dla których jest wymagany, najczęściej protokoły poczty e-mail lub grupy wiadomości. Ponieważ utF-7 nie jest szczególnie bezpieczny lub niezawodny, a większość nowoczesnych systemów zezwala na kodowanie 8-bitowe, utF-8 powinno być zwykle preferowane do UTF-7.

Uwaga

UTF7Encoding nie zapewnia wykrywania błędów. Ze względów bezpieczeństwa aplikacja powinna używać UTF8Encodingfunkcji , UnicodeEncodinglub UTF32Encoding i włączać wykrywanie błędów.

Aby uzyskać więcej informacji na temat kodów UTF i innych kodowań obsługiwanych przez System.Textprogram , zobacz Kodowanie znaków w .NET Framework.

Metoda GetByteCount określa, ile bajtów powoduje kodowanie zestawu znaków Unicode, a GetBytes metoda wykonuje rzeczywiste kodowanie.

Podobnie metoda określa, GetCharCount ile znaków powoduje dekodowanie sekwencji bajtów, a GetChars metody i GetString wykonują rzeczywiste dekodowanie.

UTF7Encoding odpowiada stronie kodowej systemu Windows 65000.

Uwaga

Stan zakodowanego obiektu UTF-7 nie jest zachowywany, jeśli obiekt jest serializowany i deserializowany przy użyciu różnych wersji .NET Framework.

Konstruktory

UTF7Encoding()
Przestarzałe.

Inicjuje nowe wystąpienie klasy UTF7Encoding.

UTF7Encoding(Boolean)
Przestarzałe.

Inicjuje nowe wystąpienie klasy UTF7Encoding. Parametr określa, czy zezwalać na znaki opcjonalne.

Właściwości

BodyName

Po zastąpieniu w klasie pochodnej pobiera nazwę bieżącego kodowania, które może być używane z tagami treści agenta poczty.

(Odziedziczone po Encoding)
CodePage

Po przesłonięciu w klasie pochodnej pobiera identyfikator strony kodowej bieżącego Encodingelementu .

(Odziedziczone po Encoding)
DecoderFallback

Pobiera lub ustawia DecoderFallback obiekt dla bieżącego Encoding obiektu.

(Odziedziczone po Encoding)
EncoderFallback

Pobiera lub ustawia EncoderFallback obiekt dla bieżącego Encoding obiektu.

(Odziedziczone po Encoding)
EncodingName

Po zastąpieniu w klasie pochodnej pobiera czytelny dla człowieka opis bieżącego kodowania.

(Odziedziczone po Encoding)
HeaderName

Po zastąpieniu w klasie pochodnej pobiera nazwę bieżącego kodowania, które może być używane z tagami nagłówka agenta poczty.

(Odziedziczone po Encoding)
IsBrowserDisplay

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów przeglądarki do wyświetlania zawartości.

(Odziedziczone po Encoding)
IsBrowserSave

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów przeglądarki do zapisywania zawartości.

(Odziedziczone po Encoding)
IsMailNewsDisplay

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów poczty i wiadomości do wyświetlania zawartości.

(Odziedziczone po Encoding)
IsMailNewsSave

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów poczty i wiadomości do zapisywania zawartości.

(Odziedziczone po Encoding)
IsReadOnly

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie jest tylko do odczytu.

(Odziedziczone po Encoding)
IsSingleByte

Po przesłonięciu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie używa pojedynczych bajtów punktów kodu.

(Odziedziczone po Encoding)
Preamble

W przypadku przesłonięcia w klasie pochodnej zwraca zakres zawierający sekwencję bajtów, która określa użyte kodowanie.

(Odziedziczone po Encoding)
WebName

Po przesłonięciu w klasie pochodnej pobiera nazwę zarejestrowaną za pomocą urzędu IANA (Internet Assigned Numbers Authority) dla bieżącego kodowania.

(Odziedziczone po Encoding)
WindowsCodePage

Po zastąpieniu klasy pochodnej pobiera stronę kodową systemu operacyjnego Windows, która najbardziej odpowiada bieżącemu kodowaniu.

(Odziedziczone po Encoding)

Metody

Clone()

Po zastąpieniu w klasie pochodnej tworzy płytkią kopię bieżącego Encoding obiektu.

(Odziedziczone po Encoding)
Equals(Object)

Pobiera wartość wskazującą, czy określony obiekt jest równy bieżącemu UTF7Encoding obiektowi.

Equals(Object)

Określa, czy określona wartość Object jest równa bieżącemu wystąpieniu.

(Odziedziczone po Encoding)
GetByteCount(Char*, Int32)

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków rozpoczynających się od określonego wskaźnika znaków.

GetByteCount(Char*, Int32)

Po zastąpieniu w klasie pochodnej oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków rozpoczynających się od określonego wskaźnika znaków.

(Odziedziczone po Encoding)
GetByteCount(Char[])

W przypadku przesłonięcia w klasie pochodnej oblicza liczbę bajtów wygenerowanych przez kodowanie wszystkich znaków w określonej tablicy znaków.

(Odziedziczone po Encoding)
GetByteCount(Char[], Int32, Int32)

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków z określonej tablicy znaków.

GetByteCount(ReadOnlySpan<Char>)

W przypadku przesłonięcia w klasie pochodnej oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym zakresie znaków.

(Odziedziczone po Encoding)
GetByteCount(String)

Oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym String obiekcie.

GetByteCount(String)

Po zastąpieniu w klasie pochodnej oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym ciągu.

(Odziedziczone po Encoding)
GetByteCount(String, Int32, Int32)

Po przesłonięciu w klasie pochodnej oblicza liczbę bajtów wygenerowanych przez kodowanie zestawu znaków z określonego ciągu.

(Odziedziczone po Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Koduje zestaw znaków rozpoczynający się od określonego wskaźnika znaków do sekwencji bajtów przechowywanych od określonego wskaźnika bajtów.

GetBytes(Char*, Int32, Byte*, Int32)

W przypadku zastąpienia w klasie pochodnej koduje zestaw znaków rozpoczynający się od określonego wskaźnika znaków do sekwencji bajtów przechowywanych od określonego wskaźnika bajtów.

(Odziedziczone po Encoding)
GetBytes(Char[])

Po przesłonięciu w klasie pochodnej wszystkie znaki w określonej tablicy znaków są kodowane w sekwencji bajtów.

(Odziedziczone po Encoding)
GetBytes(Char[], Int32, Int32)

Po zastąpieniu w klasie pochodnej koduje zestaw znaków z określonej tablicy znaków do sekwencji bajtów.

(Odziedziczone po Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

Koduje zestaw znaków z określonej tablicy znaków do określonej tablicy bajtów.

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

Po przesłonięciu w klasie pochodnej koduje się do zakresu bajtów zestawu znaków z określonego zakresu tylko do odczytu.

(Odziedziczone po Encoding)
GetBytes(String)

Po przesłonięciu w klasie pochodnej wszystkie znaki w określonym ciągu są kodowane w sekwencji bajtów.

(Odziedziczone po Encoding)
GetBytes(String, Int32, Int32)

Po przesłonięciu w klasie pochodnej koduje do tablicy bajtów liczbę znaków określonych count w określonym ciągu, począwszy od określonej indexwartości .

(Odziedziczone po Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Koduje zestaw znaków z określonej String tablicy bajtów.

GetBytes(String, Int32, Int32, Byte[], Int32)

Po zastąpieniu w klasie pochodnej koduje zestaw znaków z określonego ciągu do określonej tablicy bajtów.

(Odziedziczone po Encoding)
GetCharCount(Byte*, Int32)

Oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów rozpoczynających się od określonego wskaźnika bajtów.

GetCharCount(Byte*, Int32)

W przypadku zastąpienia w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów rozpoczynających się od określonego wskaźnika bajtów.

(Odziedziczone po Encoding)
GetCharCount(Byte[])

W przypadku zastąpienia w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie wszystkich bajtów w określonej tablicy bajtów.

(Odziedziczone po Encoding)
GetCharCount(Byte[], Int32, Int32)

Oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.

GetCharCount(ReadOnlySpan<Byte>)

W przypadku zastąpienia w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie podanego zakresu bajtów tylko do odczytu.

(Odziedziczone po Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Dekoduje sekwencję bajtów rozpoczynającą się od określonego wskaźnika bajtów do zestawu znaków przechowywanych w określonym wskaźniku znaków.

GetChars(Byte*, Int32, Char*, Int32)

W przypadku zastąpienia w klasie pochodnej dekoduje sekwencję bajtów rozpoczynającą się od określonego wskaźnika bajtów do zestawu znaków przechowywanych w określonym wskaźniku znaków.

(Odziedziczone po Encoding)
GetChars(Byte[])

Po przesłonięciu w klasie pochodnej wszystkie bajty w określonej tablicy bajtów są dekodowane w zestawie znaków.

(Odziedziczone po Encoding)
GetChars(Byte[], Int32, Int32)

Po zastąpieniu w klasie pochodnej dekoduje sekwencję bajtów z określonej tablicy bajtów do zestawu znaków.

(Odziedziczone po Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Dekoduje sekwencję bajtów z określonej tablicy bajtów do określonej tablicy znaków.

GetChars(ReadOnlySpan<Byte>, Span<Char>)

W przypadku zastąpienia w klasie pochodnej dekoduje wszystkie bajty w określonym zakresie bajtów tylko do odczytu w zakresie znaków.

(Odziedziczone po Encoding)
GetDecoder()

Uzyskuje dekoder, który konwertuje zakodowaną sekwencję bajtów UTF-7 na sekwencję znaków Unicode.

GetEncoder()

Uzyskuje koder, który konwertuje sekwencję znaków Unicode na zakodowaną sekwencję bajtów UTF-7.

GetHashCode()

Zwraca kod skrótu dla bieżącego UTF7Encoding obiektu.

GetHashCode()

Zwraca kod skrótu dla bieżącego wystąpienia.

(Odziedziczone po Encoding)
GetMaxByteCount(Int32)

Oblicza maksymalną liczbę bajtów generowanych przez kodowanie określonej liczby znaków.

GetMaxCharCount(Int32)

Oblicza maksymalną liczbę znaków generowanych przez dekodowanie określonej liczby bajtów.

GetPreamble()

Po przesłonięciu w klasie pochodnej zwraca sekwencję bajtów, która określa użyte kodowanie.

(Odziedziczone po Encoding)
GetString(Byte*, Int32)

W przypadku zastąpienia w klasie pochodnej dekoduje określoną liczbę bajtów rozpoczynających się od określonego adresu do ciągu.

(Odziedziczone po Encoding)
GetString(Byte[])

Po przesłonięciu w klasie pochodnej wszystkie bajty w określonej tablicy bajtów są dekodowane w ciągu.

(Odziedziczone po Encoding)
GetString(Byte[], Int32, Int32)

Dekoduje zakres bajtów z tablicy bajtów do ciągu.

GetString(Byte[], Int32, Int32)

Gdy zastąpisz klasę pochodną, dekoduje sekwencję bajtów z określonej tablicy bajtów do ciągu.

(Odziedziczone po Encoding)
GetString(ReadOnlySpan<Byte>)

Po przesłonięciu w klasie pochodnej wszystkie bajty w określonym zakresie bajtów są dekodowane w ciągu.

(Odziedziczone po Encoding)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsAlwaysNormalized()

Pobiera wartość wskazującą, czy bieżące kodowanie jest zawsze znormalizowane przy użyciu domyślnego formularza normalizacji.

(Odziedziczone po Encoding)
IsAlwaysNormalized(NormalizationForm)

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie jest zawsze znormalizowane przy użyciu określonego formularza normalizacji.

(Odziedziczone po Encoding)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Koduje do zakresu bajtów zestaw znaków z określonego zakresu tylko do odczytu, jeśli miejsce docelowe jest wystarczająco duże.

(Odziedziczone po Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Dekoduje w zakresie znaków zestaw bajtów z określonego zakresu tylko do odczytu, jeśli miejsce docelowe jest wystarczająco duże.

(Odziedziczone po Encoding)

Metody rozszerzania

GetBytes(Encoding, ReadOnlySequence<Char>)

Koduje określony ReadOnlySequence<T> element do Byte tablicy przy użyciu określonego Encodingelementu .

GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>)

Dekoduje określony ReadOnlySequence<T> element do bytes przy użyciu określonego Encoding i zapisuje wynik na writer.

GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>)

Koduje określony ReadOnlySequence<T> element, aby używać byteokreślonego Encoding parametru i generuje wynik na byteswartość .

GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>)

Koduje określony ReadOnlySpan<T> element do bytes przy użyciu określonego Encoding i zapisuje wynik na writer.

GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>)

Dekoduje określony ReadOnlySequence<T> element do chars przy użyciu określonego Encoding i zapisuje wynik na writer.

GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>)

Dekoduje określony ReadOnlySequence<T> element, aby używać charokreślonego Encoding parametru i generuje wynik na charswartość .

GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>)

Dekoduje określony ReadOnlySpan<T> element do chars przy użyciu określonego Encoding i zapisuje wynik na writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Dekoduje określony ReadOnlySequence<T> element przy String użyciu określonego Encodingelementu .

Dotyczy

Zobacz też