UTF8Encoding.GetCharCount 메서드

정의

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

오버로드

Name Description
GetCharCount(Byte*, Int32)

지정된 바이트 포인터에서 시작하는 바이트 시퀀스를 디코딩하여 생성된 문자 수를 계산합니다.

GetCharCount(Byte[], Int32, Int32)

지정된 바이트 배열에서 바이트 시퀀스를 디코딩하여 생성된 문자 수를 계산합니다.

GetCharCount(Byte*, Int32)

Important

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

지정된 바이트 포인터에서 시작하는 바이트 시퀀스를 디코딩하여 생성된 문자 수를 계산합니다.

public:
 override int GetCharCount(System::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)]
public override int GetCharCount(byte* bytes, int count);
[<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
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int

매개 변수

bytes
Byte*

디코딩할 첫 번째 바이트에 대한 포인터입니다.

count
Int32

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

반품

지정된 바이트 시퀀스를 디코딩하여 생성된 문자 수입니다.

특성

예외

bytesnull입니다.

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

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

반품

지정된 바이트 시퀀스를 디코딩하여 생성된 문자 수입니다.

예외

bytesnull입니다.

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

-또는-

index 에서 count 유효한 범위를 bytes나타내지 않습니다.

-또는-

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

오류 검색을 사용하도록 설정하고 bytes 잘못된 바이트 시퀀스를 포함합니다.

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

-그리고-

DecoderFallbackDecoderExceptionFallback로 설정됩니다.

예제

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

using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
             85,  84,  70,  56,  32,  69, 110,
             99, 111, 100, 105, 110, 103,  32,
             69, 120,  97, 109, 112, 108, 101
        };

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

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85,  84,  70,  56,  32,  69, 110, _
            99, 111, 100, 105, 110, 103,  32, _
            69, 120,  97, 109, 112, 108, 101 _
        }
        
        Dim utf8 As New UTF8Encoding()
        Dim charCount As Integer = utf8.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되지 않습니다.

추가 정보

적용 대상