UTF8Encoding.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 System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
UTF8Encoding utf8 = new UTF8Encoding();
int charCount = 2;
int maxByteCount = utf8.GetMaxByteCount(charCount);
Console.WriteLine(
"Maximum of {0} bytes needed to encode {1} characters.",
maxByteCount,
charCount
);
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim utf8 As New UTF8Encoding()
Dim charCount As Integer = 2
Dim maxByteCount As Integer = utf8.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-8 바이트 하나만 필요한 경우가 많지만, 반환되는 GetMaxByteCount 숫자는 문자열 변환이 각각 4바이트가 필요한 문자로 구성될 가능성을 허용해야 합니다.
GetMaxByteCount 에 대한 관계가 GetChars없습니다. 애플리케이션에서 사용할 GetChars유사한 함수가 필요한 경우 해당 함수를 사용해야 GetMaxCharCount합니다.
메모
GetMaxByteCount(N) 가 반드시 .와 N* GetMaxByteCount(1)같은 값은 아닙니다.