UnicodeEncoding.GetCharCount 메서드

정의

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

오버로드

GetCharCount(Byte*, Int32)

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

GetCharCount(Byte[], Int32, Int32)

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

GetCharCount(Byte*, Int32)

중요

이 API는 CLS 규격이 아닙니다.

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

public:
 override int GetCharCount(System::Byte* bytes, int count);
[System.CLSCompliant(false)]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount (byte* bytes, int count);
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int

매개 변수

bytes
Byte*

디코딩할 첫 번째 바이트를 가리키는 포인터입니다.

count
Int32

디코딩할 바이트 수입니다.

반환

Int32

지정한 바이트 시퀀스를 디코딩할 경우 생성되는 문자 수입니다.

특성

예외

bytesnull(Nothing)입니다.

count가 0보다 작은 경우

또는 결과 바이트 수가 정수로 반환될 수 있는 최대 수보다 큽니다.

오류 검색이 사용되고 bytes에 잘못된 바이트 시퀀스를 포함합니다.

대체가 발생했습니다(자세한 내용은 .NET의 문자 인코딩 참조). 및 DecoderFallbackDecoderExceptionFallback로 설정됩니다.

설명

정확한 배열 크기를 계산 하려면 GetChars 애플리케이션에서는 결과 문자를 저장 하는 데 필요한 GetCharCount합니다. 최대 배열 크기를 계산 하려면 애플리케이션을 사용할지 GetMaxCharCount합니다. 메서드는 GetCharCount 일반적으로 더 적은 메모리를 할당하지만 메서드는 GetMaxCharCount 일반적으로 더 빠르게 실행됩니다.

오류 검색 시퀀스가 잘못되면 이 메서드가 .를 throw합니다 ArgumentException. 오류 검색이 없으면 잘못된 시퀀스가 무시되고 예외가 throw되지 않습니다.

추가 정보

적용 대상

GetCharCount(Byte[], Int32, Int32)

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

public:
 override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount (byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer

매개 변수

bytes
Byte[]

디코딩할 바이트 시퀀스를 포함하는 바이트 배열입니다.

index
Int32

디코딩할 첫 번째 바이트의 인덱스입니다.

count
Int32

디코딩할 바이트 수입니다.

반환

Int32

지정한 바이트 시퀀스를 디코딩할 경우 생성되는 문자 수입니다.

예외

bytesnull(Nothing)입니다.

index 또는 count가 0보다 작습니다.

또는 indexcountbytes에서 올바른 범위를 나타내지 않습니다.

또는 결과 바이트 수가 정수로 반환될 수 있는 최대 수보다 큽니다.

오류 검색이 사용되고 bytes에 잘못된 바이트 시퀀스를 포함합니다.

대체가 발생했습니다(자세한 내용은 .NET의 문자 인코딩 참조). 및 DecoderFallbackDecoderExceptionFallback로 설정됩니다.

예제

다음 예제에서는 메서드를 사용하여 GetCharCount 바이트 배열 UnicodeEncoding의 요소 범위를 디코딩하여 생성된 문자 수를 반환하는 방법을 보여 줍니다.

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,0,110,0,105,0,99,0,111,0,100,0,101,0};
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int charCount = Unicode->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

        UnicodeEncoding Unicode = new UnicodeEncoding();
        int charCount = Unicode.GetCharCount(bytes, 2, 8);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = {85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0}
        
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = uni.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

설명

에 필요한 정확한 배열 크기를 계산 하려면 GetChars 애플리케이션에서는 결과 문자를 저장 하려면 GetCharCount합니다. 최대 배열 크기를 계산 하려면 애플리케이션을 사용할지 GetMaxCharCount합니다. 메서드는 GetCharCount 일반적으로 더 적은 메모리를 할당하지만 메서드는 GetMaxCharCount 일반적으로 더 빠르게 실행됩니다.

오류 검색 시퀀스가 잘못되면 이 메서드가 .를 throw합니다 ArgumentException. 오류 검색이 없으면 잘못된 시퀀스가 무시되고 예외가 throw되지 않습니다.

추가 정보

적용 대상