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í do bajtového pole. Všimněte si, že když je pole bajtů dekódované zpět na řetězec, nedojde ke ztrátě dat.
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 sekvence kódovaných bajtů na sadu znaků Unicode.
Kódování UTF-7 představuje znaky Unicode jako sekvence 7bitových znaků ASCII. Toto kódování podporuje určité protokoly, pro které se vyžaduje, nejčastěji e-mailové nebo newsgroup protokoly. Vzhledem k tomu, že UTF-7 není zvlášť zabezpečený nebo robustní a většina moderních systémů povoluje 8bitové kódování, měl by být UTF-8 normálně upřednostňovaný pro UTF-7.
Note
UTF7Encoding neposkytuje detekci chyb. Zbezpečnostních UTF8EncodingUnicodeEncodingUTF32Encoding
Další informace o UTF a dalších kódováních podporovaných System.Textv rozhraní .NET Framework naleznete v tématu Kódování znaků.
Metoda GetByteCount určuje, kolik bajtů má za následek kódování sady znaků Unicode a GetBytes metoda provádí skutečné kódování.
Podobně metoda určuje, GetCharCount kolik znaků má za následek dekódování posloupnosti bajtů a GetChars metody GetString provádějí skutečné dekódování.
UTF7Encoding odpovídá Windows znakové stránce 65000.
Note
Stav objektu kódovaného UTF-7 není zachován, pokud je objekt serializován a deserializován pomocí různých verzí .NET Framework.
Konstruktory
| Name | Description |
|---|---|
| UTF7Encoding() |
Inicializuje novou instanci UTF7Encoding třídy. |
| UTF7Encoding(Boolean) |
Inicializuje novou instanci UTF7Encoding třídy. Parametr určuje, jestli chcete povolit volitelné znaky. |
Vlastnosti
| Name | Description |
|---|---|
| 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 agenta pošty. (Zděděno od Encoding) |
| CodePage |
Při přepsání v odvozené třídě získá identifikátor znakové stránky aktuálního Encoding. (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á human-readable popis aktuální 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čky agenta pošty. (Zděděno od Encoding) |
| IsBrowserDisplay |
Při přepsání v odvozené třídě získá hodnotu určující, zda aktuální kódování může být použito 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 určující, zda aktuální kódování lze použít klienty 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í může být používáno klienty pošty a zpráv 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í může být používáno poštovními a informačními klienty k ukládání obsahu. (Zděděno od Encoding) |
| IsReadOnly |
Při přepsání v odvozené třídě získá hodnotu určující, zda aktuální kódování je 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í rozsah 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
| Name | Description |
|---|---|
| Clone() |
Při přepsání v odvozené třídě vytvoří mělké kopie aktuálního Encoding objektu. (Zděděno od Encoding) |
| Equals(Object) |
Získá hodnotu určující, zda zadaný objekt je roven aktuálnímu UTF7Encoding objektu. |
| Equals(Object) |
Určuje, zda je zadaná Object hodnota rovna aktuální instanci. (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(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) |
Vypočítá počet bajtů vytvořených kódováním sady znaků začínající zadaným ukazatelem znaku. |
| 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, 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) |
| 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) |
| GetBytes(Char[], Int32, Int32, Byte[], Int32) |
Zakóduje sadu znaků ze zadaného pole znaků do zadaného bajtového pole. |
| GetBytes(Char[], Int32, Int32) |
Při přepsání v odvozené třídě zakóduje sadu znaků ze zadaného pole znaků do posloupnosti bajtů. (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, Byte*, Int32) |
Zakóduje sadu znaků začínající zadaným ukazatelem znaků do posloupnosti bajtů, které jsou uloženy od zadaného bajtového ukazatele. |
| GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
Při přepsání v odvozené třídě zakóduje do rozsahu bajtů sadu znaků ze zadaného rozsahu jen pro čtení. (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) |
| GetBytes(String, Int32, Int32) |
Při přepsání v odvozené třídě kóduje do pole bajtů počet znaků zadaný |
| 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) |
| GetCharCount(Byte[], Int32, Int32) |
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného bajtového pole. |
| GetCharCount(Byte[]) |
Při přepsání v odvozené třídě vypočítá počet znaků vytvořený dekódováním všech bajtů v zadané bajtové matici. (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 ukazatelem bajtu. |
| GetCharCount(ReadOnlySpan<Byte>) |
Při přepsání v odvozené třídě vypočítá počet znaků vytvořených dekódováním poskytnutého bajtu jen pro čtení. (Zděděno od Encoding) |
| GetChars(Byte[], Int32, Int32, Char[], Int32) |
Dekóduje posloupnost bajtů ze zadaného bajtového pole do zadaného znakového pole. |
| GetChars(Byte[], Int32, Int32) |
Při přepsání v odvozené třídě dekóduje posloupnost bajtů ze zadaného bajtového pole do sady znaků. (Zděděno od Encoding) |
| GetChars(Byte[]) |
Při přepsání v odvozené třídě dekóduje všechny bajty v zadané bajtové matici do sady znaků. (Zděděno od Encoding) |
| GetChars(Byte*, Int32, Char*, Int32) |
Dekóduje posloupnost bajtů počínaje zadaným bajtovým ukazatelem na sadu znaků, které jsou uloženy od zadaného ukazatele znaků. |
| GetChars(ReadOnlySpan<Byte>, Span<Char>) |
Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném bajtu jen pro čtení do rozsahu znaků. (Zděděno od Encoding) |
| GetDecoder() |
Získá dekodér, který převede kódování UTF-7 sekvence bajtů na posloupnost znaků Unicode. |
| GetEncoder() |
Získá kodér, který převede posloupnost znaků Unicode na posloupnost kódování UTF-7 bajtů. |
| GetHashCode() |
Vrátí kód hash pro aktuální UTF7Encoding objekt. |
| 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, Int32) |
Dekóduje rozsah bajtů z bajtového pole do řetězce. |
| GetString(Byte[], Int32, Int32) |
Při přepsání v odvozené třídě dekóduje posloupnost bajtů ze zadaného bajtového pole 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é bajtové pole do řetězce. (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(ReadOnlySpan<Byte>) |
Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném bajtu rozsahu do řetězce. (Zděděno od Encoding) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsAlwaysNormalized() |
Získá hodnotu označující, zda je aktuální kódování vždy normalizováno pomocí výchozího normalizačního formuláře. (Zděděno od Encoding) |
| IsAlwaysNormalized(NormalizationForm) |
Při přepsání v odvozené třídě získá hodnotu určující, zda je aktuální kódování vždy normalizováno pomocí zadaného normalizačního formuláře. (Zděděno od Encoding) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |