CharUnicodeInfo 클래스

정의

유니코드 문자에 대한 정보를 검색합니다. 이 클래스는 상속될 수 없습니다.

public ref class CharUnicodeInfo abstract sealed
public ref class CharUnicodeInfo sealed
public static class CharUnicodeInfo
public sealed class CharUnicodeInfo
type CharUnicodeInfo = class
Public Class CharUnicodeInfo
Public NotInheritable Class CharUnicodeInfo
상속
CharUnicodeInfo

예제

다음 코드 예제에서는 각 메서드에서 서로 다른 형식의 문자에 대해 반환된 값을 보여 있습니다.

using namespace System;
using namespace System::Globalization;
void PrintProperties( Char c );
int main()
{
   Console::WriteLine( "                                        c  Num   Dig   Dec   UnicodeCategory" );
   Console::Write( "U+0061 LATIN SMALL LETTER A            " );
   PrintProperties( L'a' );
   Console::Write( "U+0393 GREEK CAPITAL LETTER GAMMA      " );
   PrintProperties( L'\u0393' );
   Console::Write( "U+0039 DIGIT NINE                      " );
   PrintProperties( L'9' );
   Console::Write( "U+00B2 SUPERSCRIPT TWO                 " );
   PrintProperties( L'\u00B2' );
   Console::Write( "U+00BC VULGAR FRACTION ONE QUARTER     " );
   PrintProperties( L'\u00BC' );
   Console::Write( "U+0BEF TAMIL DIGIT NINE                " );
   PrintProperties( L'\u0BEF' );
   Console::Write( "U+0BF0 TAMIL NUMBER TEN                " );
   PrintProperties( L'\u0BF0' );
   Console::Write( "U+0F33 TIBETAN DIGIT HALF ZERO         " );
   PrintProperties( L'\u0F33' );
   Console::Write( "U+2788 CIRCLED SANS-SERIF DIGIT NINE   " );
   PrintProperties( L'\u2788' );
}

void PrintProperties( Char c )
{
   Console::Write( " {0,-3}", c );
   Console::Write( " {0,-5}", CharUnicodeInfo::GetNumericValue( c ) );
   Console::Write( " {0,-5}", CharUnicodeInfo::GetDigitValue( c ) );
   Console::Write( " {0,-5}", CharUnicodeInfo::GetDecimalDigitValue( c ) );
   Console::WriteLine( "{0}", CharUnicodeInfo::GetUnicodeCategory( c ) );
}

/*
This code produces the following output.  Some characters might not display at the console.

                                        c  Num   Dig   Dec   UnicodeCategory
U+0061 LATIN SMALL LETTER A             a   -1    -1    -1   LowercaseLetter
U+0393 GREEK CAPITAL LETTER GAMMA       Γ   -1    -1    -1   UppercaseLetter
U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO                  ²   2     2     -1   OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER      ¼   0.25  -1    -1   OtherNumber
U+0BEF TAMIL DIGIT NINE                 ௯   9     9     9    DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN                 ௰   10    -1    -1   OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO          ༳   -0.5  -1    -1   OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE    ➈   9     9     -1   OtherNumber

*/
using System;
using System.Globalization;

public class SamplesCharUnicodeInfo  {

   public static void Main()  {

      Console.WriteLine( "                                        c  Num   Dig   Dec   UnicodeCategory" );

      Console.Write( "U+0061 LATIN SMALL LETTER A            " );
      PrintProperties( 'a' );

      Console.Write( "U+0393 GREEK CAPITAL LETTER GAMMA      " );
      PrintProperties( '\u0393' );

      Console.Write( "U+0039 DIGIT NINE                      " );
      PrintProperties( '9' );

      Console.Write( "U+00B2 SUPERSCRIPT TWO                 " );
      PrintProperties( '\u00B2' );

      Console.Write( "U+00BC VULGAR FRACTION ONE QUARTER     " );
      PrintProperties( '\u00BC' );

      Console.Write( "U+0BEF TAMIL DIGIT NINE                " );
      PrintProperties( '\u0BEF' );

      Console.Write( "U+0BF0 TAMIL NUMBER TEN                " );
      PrintProperties( '\u0BF0' );

      Console.Write( "U+0F33 TIBETAN DIGIT HALF ZERO         " );
      PrintProperties( '\u0F33' );

      Console.Write( "U+2788 CIRCLED SANS-SERIF DIGIT NINE   " );
      PrintProperties( '\u2788' );
   }

   public static void PrintProperties( char c )  {
      Console.Write( " {0,-3}", c );
      Console.Write( " {0,-5}", CharUnicodeInfo.GetNumericValue( c ) );
      Console.Write( " {0,-5}", CharUnicodeInfo.GetDigitValue( c ) );
      Console.Write( " {0,-5}", CharUnicodeInfo.GetDecimalDigitValue( c ) );
      Console.WriteLine( "{0}", CharUnicodeInfo.GetUnicodeCategory( c ) );
   }
}


/*
This code produces the following output.  Some characters might not display at the console.

                                        c  Num   Dig   Dec   UnicodeCategory
U+0061 LATIN SMALL LETTER A             a   -1    -1    -1   LowercaseLetter
U+0393 GREEK CAPITAL LETTER GAMMA       Γ   -1    -1    -1   UppercaseLetter
U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO                  ²   2     2     -1   OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER      ¼   0.25  -1    -1   OtherNumber
U+0BEF TAMIL DIGIT NINE                 ௯   9     9     9    DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN                 ௰   10    -1    -1   OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO          ༳   -0.5  -1    -1   OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE    ➈   9     9     -1   OtherNumber

*/
Imports System.Globalization

Public Class SamplesCharUnicodeInfo

   Public Shared Sub Main()

      Console.WriteLine("                                        c  Num   Dig   Dec   UnicodeCategory")

      Console.Write("U+0061 LATIN SMALL LETTER A            ")
      PrintProperties("a"c)

      Console.Write("U+0393 GREEK CAPITAL LETTER GAMMA      ")
      PrintProperties(ChrW(&H0393))

      Console.Write("U+0039 DIGIT NINE                      ")
      PrintProperties("9"c)

      Console.Write("U+00B2 SUPERSCRIPT TWO                 ")
      PrintProperties(ChrW(&H00B2))

      Console.Write("U+00BC VULGAR FRACTION ONE QUARTER     ")
      PrintProperties(ChrW(&H00BC))

      Console.Write("U+0BEF TAMIL DIGIT NINE                ")
      PrintProperties(ChrW(&H0BEF))

      Console.Write("U+0BF0 TAMIL NUMBER TEN                ")
      PrintProperties(ChrW(&H0BF0))

      Console.Write("U+0F33 TIBETAN DIGIT HALF ZERO         ")
      PrintProperties(ChrW(&H0F33))

      Console.Write("U+2788 CIRCLED SANS-SERIF DIGIT NINE   ")
      PrintProperties(ChrW(&H2788))

   End Sub

   Public Shared Sub PrintProperties(c As Char)
      Console.Write(" {0,-3}", c)
      Console.Write(" {0,-5}", CharUnicodeInfo.GetNumericValue(c))
      Console.Write(" {0,-5}", CharUnicodeInfo.GetDigitValue(c))
      Console.Write(" {0,-5}", CharUnicodeInfo.GetDecimalDigitValue(c))
      Console.WriteLine("{0}", CharUnicodeInfo.GetUnicodeCategory(c))
   End Sub

End Class


'This code produces the following output.  Some characters might not display at the console.
'
'                                        c  Num   Dig   Dec   UnicodeCategory
'U+0061 LATIN SMALL LETTER A             a   -1    -1    -1   LowercaseLetter
'U+0393 GREEK CAPITAL LETTER GAMMA       Γ   -1    -1    -1   UppercaseLetter
'U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
'U+00B2 SUPERSCRIPT TWO                  ²   2     2     -1   OtherNumber
'U+00BC VULGAR FRACTION ONE QUARTER      ¼   0.25  -1    -1   OtherNumber
'U+0BEF TAMIL DIGIT NINE                 ௯   9     9     9    DecimalDigitNumber
'U+0BF0 TAMIL NUMBER TEN                 ௰   10    -1    -1   OtherNumber
'U+0F33 TIBETAN DIGIT HALF ZERO          ༳   -0.5  -1    -1   OtherNumber
'U+2788 CIRCLED SANS-SERIF DIGIT NINE    ➈   9     9     -1   OtherNumber

설명

유니코드 표준은 여러 유니코드 문자 범주를 정의합니다. 예를 들어 문자는 대문자, 소문자, 10진수 숫자, 문자 번호, 단락 구분 기호, 수학 기호 또는 통화 기호로 분류될 수 있습니다. 애플리케이션이 구문 분석 또는 정규식을 사용 하 여 부분 문자열을 추출 하는 등의 문자열 기반 작업을 관리 하기 위해 문자 범주를 사용할 수 있습니다. 열거형은 UnicodeCategory 가능한 문자 범주를 정의합니다.

클래스를 CharUnicodeInfo 사용하여 특정 문자의 UnicodeCategory 값을 가져옵니다. 클래스는 CharUnicodeInfo 다음 유니코드 문자 값을 반환하는 메서드를 정의합니다.

  • 문자 또는 서로게이트 쌍이 속하는 특정 범주입니다. 반환되는 값은 열거형의 UnicodeCategory 멤버입니다.

  • 숫자 값입니다. 분수, 아래 첨자, 위 첨자, 로마 숫자, 통화 숫자, 둘러싸인 숫자 및 스크립트별 숫자를 포함한 숫자 문자에만 적용됩니다.

  • 숫자 값입니다. 번호 매기기 시스템에서 정수를 나타내기 위해 다른 숫자 문자와 결합할 수 있는 숫자 문자에 적용됩니다.

  • 10진수 값입니다. 10진수(기본 10) 시스템의 10진수를 나타내는 문자에만 적용됩니다. 10진수는 0에서 9까지 10자리 중 하나일 수 있습니다. 이러한 문자는 범주의 멤버입니다 UnicodeCategory.DecimalDigitNumber .

또한 CharUnicodeInfo 클래스는 문자 분류를 사용하는 여러 다른 .NET 형식 및 메서드에서 내부적으로 사용됩니다. 여기에는 다음이 포함됩니다.

애플리케이션에서이 클래스를 사용 하는 경우 유지 염두에서 다음 프로그래밍 사용 시 고려 사항은 Char 형식입니다. 형식은 사용하기 어려울 수 있으며 문자열은 일반적으로 언어 콘텐츠를 나타내는 데 선호됩니다.

  • 개체가 Char 항상 단일 문자에 해당하지는 않습니다. 형식은 Char 단일 16비트 값을 나타내지만 일부 문자(예: 그래프 클러스터 및 서로게이트 쌍)는 둘 이상의 UTF-16 코드 단위로 구성됩니다. 자세한 내용은 클래스의 "Char 개체 및 유니코드 문자" String 를 참조하세요.

  • "문자"의 개념도 유연합니다. 문자는 종종 문자 모양으로 생각되지만 많은 문자 모양에는 여러 코드 포인트가 필요합니다. 예를 들어 ä는 두 개의 코드 포인트("a" + U+0308, 결합 diaeresis) 또는 단일 코드 포인트("ä" 또는 U+00A4)로 나타낼 수 있습니다. 일부 언어에는 여러 코드 포인트가 필요한 문자, 문자 및 문자 모양이 많기 때문에 언어 콘텐츠 표현이 혼동될 수 있습니다. 예를 들어 1(U+03B0, dialytika 및 tonos를 사용하는 그리스어 작은 문자 업실론)이 있지만 동일한 대문자가 없습니다. 이러한 값을 대문자로 지정하면 원래 값만 검색됩니다.

호출자 참고

인식된 문자 및 해당 문자가 속한 특정 범주는 유니코드 표준에 의해 정의되며 유니코드 표준의 한 버전에서 다른 버전으로 변경할 수 있습니다. 특정 버전의 .NET Framework 문자 분류는 .NET Framework 실행 중인 기본 운영 체제에 관계없이 유니코드 표준의 단일 버전을 기반으로 합니다. 다음 표에서는 .NET Framework 4 이후의 .NET Framework 버전과 문자를 분류하는 데 사용되는 유니코드 표준 버전을 나열합니다.

| .NET Framework 버전 | 유니코드 표준 버전 | | - | - | | .NET Framework 4 | 5.0.0 | | .NET Framework 4.5 | 5.0.0 | | .NET Framework 4.5.1 | 5.0.0 | | .NET Framework 4.5.2 | 5.0.0 | | .NET Framework 4.6 | 6.3.0 | | .NET Framework 4.6.1 | 6.3.0 | | .NET Framework 4.6.2 | 8.0.0 |

유니코드 표준의 각 버전에는 이전 버전 이후 유니코드 문자 데이터베이스의 변경 내용에 대한 정보가 포함됩니다. 유니코드 문자 데이터베이스는 클래스에서 CharUnicodeInfo 문자를 분류하는 데 사용됩니다.

메서드

GetDecimalDigitValue(Char)

지정된 숫자 문자의 10진 자릿수 값을 가져옵니다.

GetDecimalDigitValue(String, Int32)

지정된 문자열의 지정된 인덱스에 있는 숫자 문자의 10진 자릿수 값을 가져옵니다.

GetDigitValue(Char)

지정된 숫자 문자의 자릿수 값을 가져옵니다.

GetDigitValue(String, Int32)

지정된 문자열의 지정된 인덱스에 있는 숫자 문자의 자릿수 값을 가져옵니다.

GetNumericValue(Char)

지정된 문자와 연결된 숫자 값을 가져옵니다.

GetNumericValue(String, Int32)

지정된 문자열의 지정된 인덱스에 있는 문자와 연결된 숫자 값을 가져옵니다.

GetUnicodeCategory(Char)

지정된 문자의 유니코드 범주를 가져옵니다.

GetUnicodeCategory(Int32)

지정된 문자의 유니코드 범주를 가져옵니다.

GetUnicodeCategory(String, Int32)

지정된 문자열의 지정된 인덱스에 있는 문자의 유니코드 범주를 가져옵니다.

적용 대상

추가 정보