UTF7Encoding.GetEncoder Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee verkrijgt u een coderingsprogramma waarmee een reeks Unicode-tekens wordt geconverteerd naar een UTF-7 gecodeerde reeks bytes.
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
Retouren
Een Encoder die een reeks Unicode-tekens converteert naar een UTF-7 gecodeerde reeks bytes.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de GetEncoder methode gebruikt om een coderingsprogramma te verkrijgen om een reeks tekens te converteren naar een UTF-7 gecodeerde reeks bytes.
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
Opmerkingen
De Decoder.GetChars methode converteert sequentiële blokken van bytes naar sequentiële tekens, op een manier die vergelijkbaar is met de GetChars methode. Een Decoder onderhoudt echter statusinformatie tussen aanroepen, zodat bytereeksen die blokken omvatten, correct kunnen decoderen. Het Decoder behoudt ook volgbytes aan het einde van gegevensblokken en gebruikt de volgbytes in de volgende decoderingsbewerking. GetDecoder Daarom en GetEncoder zijn nuttig voor netwerkoverdracht en bestandsbewerkingen, omdat deze bewerkingen vaak omgaan met blokken gegevens in plaats van een volledige gegevensstroom.