UTF7Encoding.GetEncoder 메서드

정의

유니코드 문자 시퀀스를 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

반품

Encoder 유니코드 문자 시퀀스를 UTF-7로 인코딩된 바이트 시퀀스로 변환하는 A입니다.

예제

다음 코드 예제에서는 메서드를 사용하여 GetEncoder 인코더를 가져와 문자 시퀀스를 UTF-7로 인코딩된 바이트 시퀀스로 변환하는 방법을 보여 줍니다.

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

설명

메서드는 Decoder.GetChars 바이트의 순차적 블록을 메서드와 유사한 방식으로 순차적 문자 블록으로 GetChars 변환합니다. 그러나 Decoder 호출 간에 상태 정보를 유지 관리하므로 블록에 걸쳐 있는 바이트 시퀀스를 올바르게 디코딩할 수 있습니다. Decoder 또한 데이터 블록의 끝에 후행 바이트를 유지하고 다음 디코딩 작업에서 후행 바이트를 사용합니다. 따라서 GetDecoderGetEncoder 이러한 작업은 전체 데이터 스트림 대신 데이터 블록을 처리하는 경우가 많기 때문에 네트워크 전송 및 파일 작업에 유용합니다.

적용 대상

추가 정보