다음을 통해 공유


UTF7Encoding 클래스

정의

유니코드 문자의 UTF-7 인코딩을 나타냅니다.

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
상속
UTF7Encoding
특성

예제

다음 코드 예제를 사용 하는 방법을 보여 줍니다.는 UTF7Encoding 유니코드 문자의 문자열을 인코딩 하 고 바이트 배열에 저장 합니다. 바이트 배열을 문자열로 다시 디코딩하면 데이터가 손실되지 않습니다.

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

설명

인코딩은 유니코드 문자 집합을 바이트 시퀀스로 변환하는 프로세스입니다. 디코딩은 인코딩된 바이트 시퀀스를 유니코드 문자 집합으로 변환하는 프로세스입니다.

UTF-7 인코딩은 유니코드 문자를 7비트 ASCII 문자의 시퀀스로 나타냅니다. 이 인코딩은 필요한 특정 프로토콜(대부분 이메일 또는 뉴스 그룹 프로토콜)을 지원합니다. UTF-7은 특히 안전하거나 강력하지 않으며 대부분의 최신 시스템에서 8비트 인코딩을 허용하므로 UTF-8은 일반적으로 UTF-7을 선호해야 합니다.

참고

UTF7Encoding 는 오류 검색을 제공하지 않습니다. 보안상의 이유로 애플리케이션을 사용할지 UTF8Encoding, UnicodeEncoding, 또는 UTF32Encoding 오류 검색을 사용 하도록 설정 합니다.

에서 지원하는 System.TextUTF 및 기타 인코딩에 대한 자세한 내용은 .NET Framework 문자 인코딩을 참조하세요.

GetByteCount메서드는 유니코드 문자 집합을 인코딩할 바이트 수를 결정 하 고 GetBytes 메서드는 실제 인코딩을 수행 합니다.

마찬가지로 메서드는 GetCharCount 바이트 시퀀스를 디코딩하는 데 발생하는 문자 수를 결정하고 및 GetCharsGetString 메서드는 실제 디코딩을 수행합니다.

UTF7Encoding 는 Windows 코드 페이지 65000에 해당합니다.

참고

개체가 다른 .NET Framework 버전을 사용하여 직렬화되고 역직렬화되는 경우 UTF-7로 인코딩된 개체의 상태는 유지되지 않습니다.

생성자

UTF7Encoding()
사용되지 않음.

UTF7Encoding 클래스의 새 인스턴스를 초기화합니다.

UTF7Encoding(Boolean)
사용되지 않음.

UTF7Encoding 클래스의 새 인스턴스를 초기화합니다. 매개 변수는 선택적 문자를 허용하는지 여부를 지정합니다.

속성

BodyName

파생 클래스에서 재정의되면 메일 에이전트 본문 태그에 사용할 수 있는 현재 인코딩의 이름을 가져옵니다.

(다음에서 상속됨 Encoding)
CodePage

파생 클래스에서 재정의되면 현재 Encoding의 코드 페이지 식별자를 가져옵니다.

(다음에서 상속됨 Encoding)
DecoderFallback

현재 DecoderFallback 개체에 대한 Encoding 개체를 가져오거나 설정합니다.

(다음에서 상속됨 Encoding)
EncoderFallback

현재 EncoderFallback 개체에 대한 Encoding 개체를 가져오거나 설정합니다.

(다음에서 상속됨 Encoding)
EncodingName

파생 클래스에서 재정의되면 현재 인코딩에 대해 사람이 읽을 수 있는 설명을 가져옵니다.

(다음에서 상속됨 Encoding)
HeaderName

파생 클래스에서 재정의되면 메일 에이전트 헤더 태그에 사용할 수 있는 현재 인코딩의 이름을 가져옵니다.

(다음에서 상속됨 Encoding)
IsBrowserDisplay

파생 클래스에서 재정의되면 현재 인코딩을 브라우저 클라이언트가 내용을 표시하는 데 사용할 수 있는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
IsBrowserSave

파생 클래스에서 재정의되면 현재 인코딩을 브라우저 클라이언트가 내용을 저장하는 데 사용할 수 있는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
IsMailNewsDisplay

파생 클래스에서 재정의되면 현재 인코딩을 메일 및 뉴스 클라이언트가 내용을 표시하는 데 사용할 수 있는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
IsMailNewsSave

파생 클래스에서 재정의되면 현재 인코딩을 메일 및 뉴스 클라이언트가 내용을 저장하는 데 사용할 수 있는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
IsReadOnly

파생 클래스에서 재정의되면 현재 인코딩이 읽기 전용인지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
IsSingleByte

파생 클래스에서 재정의되면 현재 인코딩이 단일 바이트 코드 포인트를 사용하는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
Preamble

파생 클래스에서 재정의할 경우, 사용된 인코딩을 지정하는 바이트 시퀀스를 포함하는 범위를 반환합니다.

(다음에서 상속됨 Encoding)
WebName

파생 클래스에서 재정의되면 현재 인코딩에 대해 IANA(Internet Assigned Numbers Authority)에 등록된 이름을 가져옵니다.

(다음에서 상속됨 Encoding)
WindowsCodePage

파생 클래스에서 재정의되면 현재 인코딩과 가장 비슷한 Windows 운영 체제 코드 페이지를 가져옵니다.

(다음에서 상속됨 Encoding)

메서드

Clone()

파생 클래스에서 재정의되면 현재 Encoding 개체의 부분 복사본을 만듭니다.

(다음에서 상속됨 Encoding)
Equals(Object)

지정한 개체가 현재 UTF7Encoding 개체와 같은지 여부를 나타내는 값을 가져옵니다.

Equals(Object)

지정한 Object가 현재 인스턴스와 같은지를 확인합니다.

(다음에서 상속됨 Encoding)
GetByteCount(Char*, Int32)

지정한 문자 포인터에서 시작되는 문자 집합을 인코딩할 경우 생성되는 바이트 수를 계산합니다.

GetByteCount(Char*, Int32)

파생 클래스에서 재정의되면 지정한 문자 포인터에서 시작하는 문자 집합을 인코딩하여 생성되는 바이트 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetByteCount(Char[])

파생 클래스에서 재정의되면 지정한 문자 배열의 모든 문자를 인코딩하여 생성되는 바이트 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetByteCount(Char[], Int32, Int32)

지정한 문자 배열의 문자 집합을 인코딩할 경우 생성되는 바이트 수를 계산합니다.

GetByteCount(ReadOnlySpan<Char>)

파생 클래스에서 재정의할 경우, 지정된 문자 범위의 문자를 인코딩하여 생성되는 바이트 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetByteCount(String)

지정한 String 개체의 문자를 인코딩하여 생성되는 바이트 수를 계산합니다.

GetByteCount(String)

파생 클래스에서 재정의되면 지정된 문자열의 문자를 인코딩하여 생성되는 바이트 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetByteCount(String, Int32, Int32)

파생 클래스에서 재정의할 경우, 지정된 문자열의 문자 집합을 인코딩하여 생성되는 바이트 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

지정한 문자 포인터에서 시작하는 문자 집합을 지정한 바이트 포인터에서 시작하여 저장되는 바이트 시퀀스로 인코딩합니다.

GetBytes(Char*, Int32, Byte*, Int32)

파생 클래스에서 재정의되면 지정한 문자 포인터에서 시작하는 문자 집합을 지정한 바이트 포인터에서 시작하여 저장되는 바이트 시퀀스로 인코딩합니다.

(다음에서 상속됨 Encoding)
GetBytes(Char[])

파생 클래스에서 재정의되면 지정한 문자 배열의 모든 문자를 바이트 시퀀스로 인코딩합니다.

(다음에서 상속됨 Encoding)
GetBytes(Char[], Int32, Int32)

파생 클래스에서 재정의되면 지정한 문자 배열의 문자 집합을 바이트 시퀀스로 인코딩합니다.

(다음에서 상속됨 Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

지정한 문자 배열의 문자 집합을 지정한 바이트 배열로 인코딩합니다.

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

파생 클래스에서 재정의할 경우, 지정된 읽기 전용 범위의 문자 집합을 바이트 범위로 인코딩합니다.

(다음에서 상속됨 Encoding)
GetBytes(String)

파생 클래스에서 재정의되면 지정한 문자열의 모든 문자를 바이트 시퀀스로 인코딩합니다.

(다음에서 상속됨 Encoding)
GetBytes(String, Int32, Int32)

파생 클래스에서 재정의할 경우, 지정된 index에서 시작하여 지정한 문자열 내에서 count로 지정된 문자의 수를 바이트 배결로 인코딩합니다.

(다음에서 상속됨 Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

지정된 String의 문자 집합을 지정된 바이트 배열로 인코딩합니다.

GetBytes(String, Int32, Int32, Byte[], Int32)

파생 클래스에서 재정의되면 지정한 문자열의 문자 집합을 지정한 바이트 배열로 인코딩합니다.

(다음에서 상속됨 Encoding)
GetCharCount(Byte*, Int32)

지정한 바이트 포인터에서 시작되는 바이트 시퀀스를 디코딩할 경우 생성되는 문자 수를 계산합니다.

GetCharCount(Byte*, Int32)

파생 클래스에서 재정의되면 지정한 바이트 포인터에서 시작하는 바이트 시퀀스를 디코딩하여 생성되는 문자 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetCharCount(Byte[])

파생 클래스에서 재정의되면 지정한 바이트 배열의 모든 바이트를 디코딩하여 생성되는 문자 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetCharCount(Byte[], Int32, Int32)

지정한 바이트 배열의 바이트 시퀀스를 디코딩할 경우 생성되는 문자 수를 계산합니다.

GetCharCount(ReadOnlySpan<Byte>)

파생 클래스에서 재정의할 경우, 제공된 읽기 전용 바이트 범위를 디코딩하여 생성되는 문자 수를 계산합니다.

(다음에서 상속됨 Encoding)
GetChars(Byte*, Int32, Char*, Int32)

지정한 바이트 포인터에서 시작하는 바이트 시퀀스를 지정한 문자 포인터에서 시작하여 저장되는 문자 집합으로 디코딩합니다.

GetChars(Byte*, Int32, Char*, Int32)

파생 클래스에서 재정의되면 지정한 바이트 포인터에서 시작하는 바이트 시퀀스를 지정한 문자 포인터에서 시작하여 저장되는 문자 집합으로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetChars(Byte[])

파생 클래스에서 재정의되면 지정한 바이트 배열의 모든 바이트를 문자 집합으로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetChars(Byte[], Int32, Int32)

파생 클래스에서 재정의되면 지정한 바이트 배열의 바이트 시퀀스를 문자 집합으로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

지정한 바이트 배열의 바이트 시퀀스를 지정한 문자 배열로 디코딩합니다.

GetChars(ReadOnlySpan<Byte>, Span<Char>)

파생 클래스에서 재정의할 경우, 지정된 읽기 전용 바이트 범위의 모든 바이트를 문자 범위로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetDecoder()

UTF-7로 인코딩된 바이트 시퀀스를 유니코드 문자 시퀀스로 변환하는 디코더를 가져옵니다.

GetEncoder()

유니코드 문자 시퀀스를 UTF-7로 인코딩된 바이트 시퀀스로 변환하는 인코더를 가져옵니다.

GetHashCode()

현재 UTF7Encoding 개체에 대한 해시 코드를 반환합니다.

GetHashCode()

현재 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Encoding)
GetMaxByteCount(Int32)

지정한 수의 문자를 인코딩할 경우 생성되는 최대 바이트 수를 계산합니다.

GetMaxCharCount(Int32)

지정한 수의 바이트를 디코딩할 경우 생성되는 최대 문자 수를 계산합니다.

GetPreamble()

파생 클래스에서 재정의되면 사용되는 인코딩을 지정하는 바이트 시퀀스를 반환합니다.

(다음에서 상속됨 Encoding)
GetString(Byte*, Int32)

파생 클래스에서 재정의할 때 지정된 주소에서 시작하는 지정된 바이트 수를 문자열로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetString(Byte[])

파생 클래스에서 재정의되면 지정한 바이트 배열의 모든 바이트를 문자열로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetString(Byte[], Int32, Int32)

바이트 배열의 바이트 범위를 문자열로 디코딩합니다.

GetString(Byte[], Int32, Int32)

파생 클래스에서 재정의되면 지정한 바이트 배열의 바이트 시퀀스를 문자열로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetString(ReadOnlySpan<Byte>)

파생 클래스에서 재정의할 경우, 지정된 바이트 범위의 모든 바이트를 문자열로 디코딩합니다.

(다음에서 상속됨 Encoding)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsAlwaysNormalized()

기본 정규화 형식을 사용하여 현재 인코딩이 항상 정규화되는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
IsAlwaysNormalized(NormalizationForm)

파생 클래스에서 재정의되면 지정한 정규화 형식을 사용하여 현재 인코딩이 항상 정규화되는지를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Encoding)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

대상이 충분히 큰 경우 지정된 읽기 전용 범위의 문자 집합을 바이트 범위로 인코딩합니다.

(다음에서 상속됨 Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

대상이 충분히 큰 경우 지정된 읽기 전용 범위에서 바이트 집합을 chars 범위로 디코딩합니다.

(다음에서 상속됨 Encoding)

확장 메서드

GetBytes(Encoding, ReadOnlySequence<Char>)

지정된 Encoding을 사용하여 지정된 ReadOnlySequence<T>Byte 배열로 인코딩합니다.

GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>)

지정된 Encoding을 사용하여 지정된 ReadOnlySequence<T>byte로 디코딩하고 결과를 writer에 씁니다.

GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>)

지정된 Encoding을 사용하여 지정된 ReadOnlySequence<T>byte로 인코딩하고 결과를 bytes에 출력합니다.

GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>)

지정된 Encoding을 사용하여 지정된 ReadOnlySpan<T>byte로 인코딩하고 결과를 writer에 씁니다.

GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>)

지정된 Encoding을 사용하여 지정된 ReadOnlySequence<T>char로 디코딩하고 결과를 writer에 씁니다.

GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>)

지정된 Encoding을 사용하여 지정된 ReadOnlySequence<T>char로 디코딩하고 결과를 chars에 출력합니다.

GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>)

지정된 Encoding을 사용하여 지정된 ReadOnlySpan<T>char로 디코딩하고 결과를 writer에 씁니다.

GetString(Encoding, ReadOnlySequence<Byte>)

지정된 Encoding을 사용하여 지정된 ReadOnlySequence<T>String으로 디코딩합니다.

적용 대상

추가 정보