Sdílet prostřednictvím


UTF7Encoding Třída

Definice

Představuje kódování UTF-7 znaků 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
Dědičnost
UTF7Encoding
Atributy

Příklady

Následující příklad kódu ukazuje, jak použít UTF7Encoding k kódování řetězce znaků Unicode a jejich uložení v bajtovém poli. Všimněte si, že při dekódování pole bajtů zpět na řetězec nedojde ke ztrátě dat.

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

Poznámky

Kódování je proces transformace sady znaků Unicode na posloupnost bajtů. Dekódování je proces transformace posloupnosti zakódovaných bajtů na sadu znaků Unicode.

Kódování UTF-7 představuje znaky Unicode jako posloupnosti 7bitových znaků ASCII. Toto kódování podporuje určité protokoly, pro které je vyžadováno, nejčastěji protokoly e-mailu nebo diskusních skupin. Vzhledem k tomu, že UTF-7 není zvlášť bezpečný ani robustní a většina moderních systémů umožňuje 8bitové kódování, mělo by být UTF-8 obvykle upřednostňováno před UTF-7.

Poznámka

UTF7Encoding neposkytuje detekci chyb. Z bezpečnostních důvodů by aplikace měla používat UTF8EncodingUnicodeEncoding, nebo UTF32Encoding a povolit detekci chyb.

Další informace o kódováníCH UTF a dalších kódováních podporovaných nástrojem System.Textnaleznete v tématu Kódování znaků v rozhraní .NET Framework.

Metoda GetByteCount určuje, kolik bajtů má za následek kódování sady znaků Unicode, a GetBytes metoda provede skutečné kódování.

Stejně tak metoda určuje, GetCharCount kolik znaků má za následek dekódování posloupnosti bajtů a GetChars metody a GetString provádějí vlastní dekódování.

UTF7Encoding odpovídá znakové stránce Windows 65000.

Poznámka

Stav objektu kódovaného UTF-7 není zachován, pokud je objekt serializován a deserializován pomocí různých verzí rozhraní .NET Framework.

Konstruktory

UTF7Encoding()
Zastaralé.

Inicializuje novou instanci UTF7Encoding třídy.

UTF7Encoding(Boolean)
Zastaralé.

Inicializuje novou instanci UTF7Encoding třídy. Parametr určuje, zda se mají povolit volitelné znaky.

Vlastnosti

BodyName

Při přepsání v odvozené třídě získá název pro aktuální kódování, které lze použít se značkami textu poštovního agenta.

(Zděděno od Encoding)
CodePage

Při přepsání v odvozené třídě získá identifikátor znakové stránky aktuální Encodingtřídy .

(Zděděno od Encoding)
DecoderFallback

Získá nebo nastaví DecoderFallback objekt pro aktuální Encoding objekt.

(Zděděno od Encoding)
EncoderFallback

Získá nebo nastaví EncoderFallback objekt pro aktuální Encoding objekt.

(Zděděno od Encoding)
EncodingName

Při přepsání v odvozené třídě získá čitelný popis aktuálního kódování.

(Zděděno od Encoding)
HeaderName

Při přepsání v odvozené třídě získá název pro aktuální kódování, které lze použít se značkami hlaviček poštovního agenta.

(Zděděno od Encoding)
IsBrowserDisplay

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování lze použít klienty prohlížeče pro zobrazení obsahu.

(Zděděno od Encoding)
IsBrowserSave

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování mohou použít klienti prohlížeče pro ukládání obsahu.

(Zděděno od Encoding)
IsMailNewsDisplay

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování lze použít poštovní a diskusní klienty pro zobrazení obsahu.

(Zděděno od Encoding)
IsMailNewsSave

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování mohou být použity poštovními a zpravodajskými klienty pro ukládání obsahu.

(Zděděno od Encoding)
IsReadOnly

Při přepsání v odvozené třídě získá hodnotu označující, zda je aktuální kódování jen pro čtení.

(Zděděno od Encoding)
IsSingleByte

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování používá jednobajtů kódové body.

(Zděděno od Encoding)
Preamble

Při přepsání v odvozené třídě vrátí span obsahující posloupnost bajtů, která určuje použité kódování.

(Zděděno od Encoding)
WebName

Při přepsání v odvozené třídě získá název zaregistrovaný v IANA (Internet Assigned Numbers Authority) pro aktuální kódování.

(Zděděno od Encoding)
WindowsCodePage

Při přepsání v odvozené třídě získá znakovou stránku operačního systému Windows, která nejvíce odpovídá aktuálnímu kódování.

(Zděděno od Encoding)

Metody

Clone()

Při přepsání v odvozené třídě vytvoří mělkou kopii aktuálního Encoding objektu.

(Zděděno od Encoding)
Equals(Object)

Získá hodnotu označující, zda je zadaný objekt roven aktuálnímu UTF7Encoding objektu.

Equals(Object)

Určuje, zda se zadaná Object hodnota rovná aktuální instanci.

(Zděděno od Encoding)
GetByteCount(Char*, Int32)

Vypočítá počet bajtů vytvořených kódováním sady znaků počínaje zadaným znakovým ukazatelem.

GetByteCount(Char*, Int32)

Při přepsání v odvozené třídě vypočítá počet bajtů vytvořených kódováním sady znaků počínaje zadaným znakovým ukazatelem.

(Zděděno od Encoding)
GetByteCount(Char[])

Při přepsání v odvozené třídě vypočítá počet bajtů vytvořených kódováním všech znaků v zadaném poli znaků.

(Zděděno od Encoding)
GetByteCount(Char[], Int32, Int32)

Vypočítá počet bajtů vytvořených kódováním sady znaků ze zadaného pole znaků.

GetByteCount(ReadOnlySpan<Char>)

Při přepsání v odvozené třídě vypočítá počet bajtů vytvořených kódováním znaků v zadaném rozsahu znaků.

(Zděděno od Encoding)
GetByteCount(String)

Vypočítá počet bajtů vytvořených kódováním znaků v zadaném String objektu.

GetByteCount(String)

Při přepsání v odvozené třídě vypočítá počet bajtů vytvořených kódováním znaků v zadaném řetězci.

(Zděděno od Encoding)
GetByteCount(String, Int32, Int32)

Při přepsání v odvozené třídě vypočítá počet bajtů vytvořených kódováním sady znaků ze zadaného řetězce.

(Zděděno od Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Zakóduje sadu znaků počínaje zadaným znakovým ukazatelem do posloupnosti bajtů, které jsou uloženy počínaje zadaným bajtovým ukazatelem.

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

Při přepsání v odvozené třídě zakóduje sadu znaků počínaje zadaným znakovým ukazatelem do posloupnosti bajtů, které jsou uloženy počínaje zadaným bajtovým ukazatelem.

(Zděděno od Encoding)
GetBytes(Char[])

Při přepsání v odvozené třídě zakóduje všechny znaky v zadaném znakovém poli do posloupnosti bajtů.

(Zděděno od Encoding)
GetBytes(Char[], Int32, Int32)

Při přepsání v odvozené třídě zakóduje sadu znaků ze zadané pole znaků do posloupnosti bajtů.

(Zděděno od Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

Zakóduje sadu znaků ze zadaného pole znaků do zadaného pole bajtů.

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

Při přepsání v odvozené třídě kóduje do rozsahu bajtů sadu znaků ze zadaného rozsahu jen pro čtení.

(Zděděno od Encoding)
GetBytes(String)

Při přepsání v odvozené třídě zakóduje všechny znaky v zadaném řetězci do posloupnosti bajtů.

(Zděděno od Encoding)
GetBytes(String, Int32, Int32)

Při přepsání v odvozené třídě kóduje do pole bajtů počet znaků zadaný v zadaném count řetězci, počínaje zadaným indexřetězcem .

(Zděděno od Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Zakóduje sadu znaků ze zadaného String pole bajtů.

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

Při přepsání v odvozené třídě zakóduje sadu znaků ze zadaného řetězce do zadaného pole bajtů.

(Zděděno od Encoding)
GetCharCount(Byte*, Int32)

Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů počínaje zadaným bajtovým ukazatelem.

GetCharCount(Byte*, Int32)

Při přepsání v odvozené třídě vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů počínaje zadaným bajtovým ukazatelem.

(Zděděno od Encoding)
GetCharCount(Byte[])

Při přepsání v odvozené třídě vypočítá počet znaků vytvořených dekódováním všech bajtů v zadaném bajtovém poli.

(Zděděno od Encoding)
GetCharCount(Byte[], Int32, Int32)

Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného pole bajtů.

GetCharCount(ReadOnlySpan<Byte>)

Při přepsání v odvozené třídě vypočítá počet znaků vytvořených dekódováním zadaného rozsahu bajtů jen pro čtení.

(Zděděno od Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Dekóduje posloupnost bajtů počínaje zadaným bajtovým ukazatelem do sady znaků, které jsou uloženy od zadaného ukazatele znaků.

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

Při přepsání v odvozené třídě dekóduje posloupnost bajtů počínaje zadaným bajtovým ukazatelem do sady znaků, které jsou uloženy počínaje zadaným znakovým ukazatelem.

(Zděděno od Encoding)
GetChars(Byte[])

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném bajtovém poli do sady znaků.

(Zděděno od Encoding)
GetChars(Byte[], Int32, Int32)

Při přepsání v odvozené třídě dekóduje posloupnost bajtů ze zadaného pole bajtů do sady znaků.

(Zděděno od Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Dekóduje posloupnost bajtů ze zadaného pole bajtů do zadaného pole znaků.

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

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném rozsahu bajtů jen pro čtení do rozsahu znaků.

(Zděděno od Encoding)
GetDecoder()

Získá dekodér, který převede posloupnost bajtů kódování UTF-7 na sekvenci znaků Unicode.

GetEncoder()

Získá kodér, který převede posloupnost znaků Unicode na posloupnost bajtů kódování UTF-7.

GetHashCode()

Vrátí kód hash aktuálního objektu UTF7Encoding .

GetHashCode()

Vrátí kód hash pro aktuální instanci.

(Zděděno od Encoding)
GetMaxByteCount(Int32)

Vypočítá maximální počet bajtů vytvořených kódováním zadaného počtu znaků.

GetMaxCharCount(Int32)

Vypočítá maximální počet znaků vytvořených dekódováním zadaného počtu bajtů.

GetPreamble()

Při přepsání v odvozené třídě vrátí posloupnost bajtů, která určuje použité kódování.

(Zděděno od Encoding)
GetString(Byte*, Int32)

Při přepsání v odvozené třídě dekóduje zadaný počet bajtů počínaje zadanou adresou do řetězce.

(Zděděno od Encoding)
GetString(Byte[])

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném bajtovém poli do řetězce.

(Zděděno od Encoding)
GetString(Byte[], Int32, Int32)

Dekóduje oblast bajtů z pole bajtů do řetězce.

GetString(Byte[], Int32, Int32)

Při přepsání v odvozené třídě dekóduje posloupnost bajtů ze zadaného pole bajtů do řetězce.

(Zděděno od Encoding)
GetString(ReadOnlySpan<Byte>)

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném rozsahu bajtu do řetězce.

(Zděděno od Encoding)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IsAlwaysNormalized()

Získá hodnotu označující, zda aktuální kódování je vždy normalizován pomocí výchozí normalizační formulář.

(Zděděno od Encoding)
IsAlwaysNormalized(NormalizationForm)

Při přepsání v odvozené třídě získá hodnotu označující, zda je aktuální kódování vždy normalizováno pomocí zadané normalizační formy.

(Zděděno od Encoding)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Kóduje do rozsahu bajtů sadu znaků ze zadaného rozsahu jen pro čtení, pokud je cíl dostatečně velký.

(Zděděno od Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Dekóduje do rozsahu znaků sadu bajtů ze zadaného rozsahu jen pro čtení, pokud je cíl dostatečně velký.

(Zděděno od Encoding)

Metody rozšíření

GetBytes(Encoding, ReadOnlySequence<Char>)

Zakóduje zadanou ReadOnlySequence<T>Byte hodnotu do pole pomocí zadaného Encodingpole .

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

Dekóduje zadaný ReadOnlySequence<T> parametr na bytes pomocí zadaného Encoding a zapíše výsledek do writer.

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

Zakóduje zadanou ReadOnlySequence<T> hodnotu do bytes pomocí zadané Encoding hodnoty a výsledek vypíše do bytes.

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

Zakóduje zadaný ReadOnlySpan<T> parametr do bytes pomocí zadaného Encoding a zapíše výsledek do writer.

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

Dekóduje zadaný ReadOnlySequence<T> parametr na chars pomocí zadaného Encoding a zapíše výsledek do writer.

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

Dekóduje zadaný ReadOnlySequence<T> parametr na chars pomocí zadaného Encoding a výsledek se vypíše na chars.

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

Dekóduje zadaný ReadOnlySpan<T> parametr na chars pomocí zadaného Encoding a zapíše výsledek do writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Dekóduje zadaný do zadaného ReadOnlySequence<T>StringEncoding.

Platí pro

Viz také