UTF7Encoding Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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 |
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) |