UTF7Encoding.GetEncoder Metoda
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Uzyskuje koder, który konwertuje sekwencję znaków Unicode na kodowaną sekwencję bajtów UTF-7.
public:
override System::Text::Encoder ^ GetEncoder();
public override System.Text.Encoder GetEncoder();
override this.GetEncoder : unit -> System.Text.Encoder
Public Overrides Function GetEncoder () As Encoder
Zwraca
Element Encoder , który konwertuje sekwencję znaków Unicode na kodowaną sekwencję bajtów UTF-7.
Przykłady
Poniższy przykład kodu przedstawia sposób użycia GetEncoder metody w celu uzyskania kodera w celu przekonwertowania sekwencji znaków na sekwencję zakodowaną w formacie UTF-7 bajtów.
using System;
using System.Text;
class UTF7EncodingExample {
public static void Main() {
Char[] chars = new Char[] {'a', 'b', 'c', '\u0300', '\ua0a0'};
Byte[] bytes;
Encoder utf7Encoder = Encoding.UTF7.GetEncoder();
int byteCount = utf7Encoder.GetByteCount(chars, 2, 3, true);
bytes = new Byte[byteCount];
int bytesEncodedCount = utf7Encoder.GetBytes(chars, 2, 3, bytes, 0, true);
Console.WriteLine(
"{0} bytes used to encode characters.", bytesEncodedCount
);
Console.Write("Encoded bytes: ");
foreach (Byte b in bytes) {
Console.Write("[{0}]", b);
}
Console.WriteLine();
}
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings
Class UTF7EncodingExample
Public Shared Sub Main()
'Characters:
' ChrW(97) = a
' ChrW(98) = b
' ChrW(99) = c
' ChrW(768) = `
' ChrW(41120) = valid unicode code point, but not a character
Dim chars() As Char = {ChrW(97), ChrW(98), ChrW(99), ChrW(768), ChrW(41120)}
Dim bytes() As Byte
Dim utf7Encoder As Encoder = Encoding.UTF7.GetEncoder()
Dim byteCount As Integer = utf7Encoder.GetByteCount(chars, 2, 3, True)
bytes = New Byte(byteCount - 1) {}
Dim bytesEncodedCount As Integer = utf7Encoder.GetBytes(chars, 2, 3, bytes, 0, True)
Console.WriteLine("{0} bytes used to encode characters.", bytesEncodedCount)
Console.Write("Encoded bytes: ")
Dim b As Byte
For Each b In bytes
Console.Write("[{0}]", b)
Next b
Console.WriteLine()
End Sub
End Class
Uwagi
Metoda Decoder.GetChars konwertuje sekwencyjne bloki bajtów na sekwencyjne bloki znaków w sposób podobny do GetChars metody . Jednak element Decoder zachowuje informacje o stanie między wywołaniami, dzięki czemu może poprawnie dekodować sekwencje bajtów, które obejmują bloki. Obiekt Decoder zachowuje również końcowe bajty na końcu bloków danych i używa końcowych bajtów w następnej operacji dekodowania. W związku z tym i GetEncoder są przydatne w przypadku operacji transmisji i plików w sieci, GetDecoder ponieważ te operacje często zajmują się blokami danych zamiast pełnego strumienia danych.