UTF7Encoding Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 |
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 |
GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>) |
Koduje określony ReadOnlySequence<T> element, aby używać |
GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>) |
Koduje określony ReadOnlySpan<T> element do |
GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>) |
Dekoduje określony ReadOnlySequence<T> element do |
GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>) |
Dekoduje określony ReadOnlySequence<T> element, aby używać |
GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>) |
Dekoduje określony ReadOnlySpan<T> element do |
GetString(Encoding, ReadOnlySequence<Byte>) |
Dekoduje określony ReadOnlySequence<T> element przy String użyciu określonego Encodingelementu . |