UTF7Encoding.GetMaxByteCount(Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정한 수의 문자를 인코딩할 경우 생성되는 최대 바이트 수를 계산합니다.
public:
override int GetMaxByteCount(int charCount);
public override int GetMaxByteCount (int charCount);
override this.GetMaxByteCount : int -> int
Public Overrides Function GetMaxByteCount (charCount As Integer) As Integer
매개 변수
- charCount
- Int32
인코딩할 문자 수입니다.
반환
지정한 수의 문자를 인코딩할 경우 생성되는 최대 바이트 수입니다.
예외
예제
다음 코드 예제를 사용 하는 방법을 보여 줍니다.는 GetMaxByteCount 지정된 된 수의 문자를 인코딩 하는 데 필요한 최대 바이트 수를 반환 하는 방법입니다.
using namespace System;
using namespace System::Text;
int main()
{
UTF7Encoding^ utf7 = gcnew UTF7Encoding;
int charCount = 2;
int maxByteCount = utf7->GetMaxByteCount( charCount );
Console::WriteLine( "Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount );
}
using System;
using System.Text;
class UTF7EncodingExample {
public static void Main() {
UTF7Encoding utf7 = new UTF7Encoding();
int charCount = 2;
int maxByteCount = utf7.GetMaxByteCount(charCount);
Console.WriteLine(
"Maximum of {0} bytes needed to encode {1} characters.",
maxByteCount,
charCount
);
}
}
Imports System.Text
Class UTF7EncodingExample
Public Shared Sub Main()
Dim utf7 As New UTF7Encoding()
Dim charCount As Integer = 2
Dim maxByteCount As Integer = utf7.GetMaxByteCount(charCount)
Console.WriteLine( _
"Maximum of {0} bytes needed to encode {1} characters.", _
maxByteCount, _
charCount _
)
End Sub
End Class
설명
에 필요한 정확한 배열 크기를 계산 하려면 GetBytes 애플리케이션에서는 결과 바이트를 저장 하려면 GetByteCount합니다. 최대 배열 크기를 계산 하려면 애플리케이션을 사용할지 GetMaxByteCount합니다. 메서드는 일반적으로 더 GetByteCount 많은 메모리를 할당 하는 것을 허용 하지만 GetMaxByteCount 메서드는 일반적으로 더 빠르게 실행 됩니다.
GetMaxByteCount 는 현재 선택된 에 대한 최악의 경우를 포함하여 최악의 경우 숫자입니다 EncoderFallback. 잠재적으로 큰 문자열을 사용하여 대체를 선택하는 경우 는 GetMaxByteCount 큰 값을 반환할 수 있습니다.
대부분의 경우 이 메서드는 작은 문자열에 대해 적절한 숫자를 반환합니다. 큰 문자열의 경우 매우 큰 버퍼를 사용하고 좀 더 적절한 버퍼를 초과하는 드문 경우 오류를 catch하는 중에서 선택해야 할 수 있습니다. 또는을 사용 하 여 다른 방법을 고려해 볼 수도 GetByteCount 있습니다 Encoder.Convert . UTF-7은 문자당 하나씩 ASCII 데이터를 인코딩하는 데 매우 효율적이지만 다른 데이터에는 매우 비효율적입니다. 위에서 언급 한 바와 같이, GetMaxByteCount 최악의 경우를 처리합니다. 인코딩할 데이터가 대부분 ASCII이고 특히 ASCII 문자가 함께 클러스터되는 경우 UTF-7은 이 메서드에서 반환한 수보다 훨씬 효율적입니다.
GetMaxByteCount에는 관계가 없습니다 GetChars . 애플리케이션에 사용 하는 유사한 함수가 필요 하는 경우 GetChars를 사용 해야 GetMaxCharCount합니다.
참고
GetMaxByteCount(N)
이 반드시와 동일한 값은 아닙니다 N* GetMaxByteCount(1)
.
적용 대상
추가 정보
.NET