CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo Class

定義

Unicode 文字に関する情報を取得します。Retrieves information about a Unicode character. このクラスは継承できません。This class cannot be inherited.

public ref class CharUnicodeInfo abstract sealed
public static class CharUnicodeInfo
type CharUnicodeInfo = class
Public Class CharUnicodeInfo
継承
CharUnicodeInfoCharUnicodeInfoCharUnicodeInfoCharUnicodeInfo

次のコード例では、さまざまな種類の文字の各メソッドによって返される値を示します。The following code example shows the values returned by each method for different types of characters.

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       \u0393   -1    -1    -1   UppercaseLetter
U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO                  \u00B2   2     2     2    OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER      \u00BC   0.25  -1    -1   OtherNumber
U+0BEF TAMIL DIGIT NINE                 \u0BEF   9     9     9    DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN                 \u0BF0   10    -1    -1   OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO          \u0F33   -0.5  -1    -1   OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE    \u2788   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       \u0393   -1    -1    -1   UppercaseLetter
U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO                  \u00B2   2     2     2    OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER      \u00BC   0.25  -1    -1   OtherNumber
U+0BEF TAMIL DIGIT NINE                 \u0BEF   9     9     9    DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN                 \u0BF0   10    -1    -1   OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO          \u0F33   -0.5  -1    -1   OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE    \u2788   9     9     -1   OtherNumber

*/

Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

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 'Main

   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 'PrintProperties

End Class 'SamplesCharUnicodeInfo 


'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       \u0393   -1    -1    -1   UppercaseLetter
'U+0039 DIGIT NINE                       9   9     9     9    DecimalDigitNumber
'U+00B2 SUPERSCRIPT TWO                  \u00B2   2     2     2    OtherNumber
'U+00BC VULGAR FRACTION ONE QUARTER      \u00BC   0.25  -1    -1   OtherNumber
'U+0BEF TAMIL DIGIT NINE                 \u0BEF   9     9     9    DecimalDigitNumber
'U+0BF0 TAMIL NUMBER TEN                 \u0BF0   10    -1    -1   OtherNumber
'U+0F33 TIBETAN DIGIT HALF ZERO          \u0F33   -0.5  -1    -1   OtherNumber
'U+2788 CIRCLED SANS-SERIF DIGIT NINE    \u2788   9     9     -1   OtherNumber

注釈

Unicode 標準Unicode 文字のカテゴリ数を定義します。The Unicode Standard defines a number of Unicode character categories. たとえば、大文字、小文字、10 進数、文字、数字、段落区切り記号、数学記号、または通貨記号として文字を分類可能性があります。For example, a character might be categorized as an uppercase letter, a lowercase letter, a decimal digit number, a letter number, a paragraph separator, a math symbol, or a currency symbol. アプリケーションでは、解析や正規表現のサブスト リングの抽出など、文字列ベースの操作を管理するのに、文字カテゴリを使用できます。Your application can use the character category to govern string-based operations, such as parsing or extracting substring with regular expressions. UnicodeCategory列挙可能な文字のカテゴリを定義します。The UnicodeCategory enumeration defines the possible character categories.

使用する、CharUnicodeInfoを取得するクラス、UnicodeCategory特定の文字の値。You use the CharUnicodeInfo class to obtain the UnicodeCategory value for a specific character. CharUnicodeInfoクラスは、次の Unicode 文字値を返すメソッドを定義します。The CharUnicodeInfo class defines methods that return the following Unicode character values:

  • 文字またはサロゲート ペアが所属する特定のカテゴリ。The specific category to which a character or surrogate pair belongs. 返される値のメンバーである、UnicodeCategory列挙体。The value returned is a member of the UnicodeCategory enumeration.

  • 数値。Numeric value. 分数、添字、上付き文字、ローマ数字、通貨分子、丸付きの数字、およびスクリプト固有の数字を含む数値の文字にのみ適用されます。Applies only to numeric characters, including fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits.

  • 桁の値。Digit value. 番号付けシステムを表す整数値をその他の数値文字を組み合わせて数値の文字に適用されます。Applies to numeric characters that can be combined with other numeric characters to represent a whole number in a numbering system.

  • 10 進値。Decimal digit value. 10 進数 (基数 10) システムでの 10 進数字を表す文字にのみ適用されます。Applies only to characters that represent decimal digits in the decimal (base 10) system. 10 進数字には、0 から 9 までの 10 桁のいずれかを指定できます。A decimal digit can be one of ten digits, from zero through nine. これらの文字のメンバーである、UnicodeCategory.DecimalDigitNumberカテゴリ。These characters are members of the UnicodeCategory.DecimalDigitNumber category.

さらに、CharUnicodeInfoクラスは、さまざまな他の .NET Framework 型と文字の分類に依存するメソッドによって内部的に使用されます。In addition, the CharUnicodeInfo class is used internally by a number of other .NET Framework types and methods that rely on character classification. 次の設定があります。These include:

  • StringInfoクラスは、文字列内の 1 つの文字ではなくテキストの要素と連携します。The StringInfo class, which works with textual elements instead of single characters in a string.

  • オーバー ロード、Char.GetUnicodeCategoryメソッドで、文字またはサロゲート ペアが所属するカテゴリを確認します。The overloads of the Char.GetUnicodeCategory method, which determine the category to which a character or surrogate pair belongs.

  • 文字クラスによって認識されるRegex、.NET Framework の正規表現エンジンです。The character classes recognized by Regex, the .NET Framework's regular expression engine.

を、アプリケーションでこのクラスを使用する場合を保持に注意してください、次のプログラミングを使用するための考慮事項、Char型。When using this class in your applications, keep in mind the following programming considerations for using the Char type. 種類を使用するには難しいし、文字列が言語的内容を表すことをお勧めします。The type can be difficult to use, and strings are generally preferable for representing linguistic content.

  • ACharオブジェクトが常に 1 つの文字に対応しません。A Char object does not always correspond to a single character. ただし、Char型 1 つの 16 ビット値を表し、いくつかの文字 (サロゲート ペアの前の書記素クラスターなど) は、2 つ以上の utf-16 コード単位で構成されています。Although the Char type represents a single 16-bit value, some characters (such as grapheme clusters and surrogate pairs) consist of two or more UTF-16 code units. 詳細については、「オブジェクトと Unicode の文字を Char する」を参照してください、Stringクラス。For more information, see "Char Objects and Unicode Characters" in the String class.

  • "Character"の概念は、柔軟性もあります。The notion of a "character" is also flexible. 文字が、グリフ、多くの場合、考えるが、多くのグリフが複数のコード ポイントが必要です。A character is often thought of as a glyph, but many glyphs require multiple code points. Ä は、たとえば、2 つのいずれかを表すコード ポイント ("a"および u+0308、結合ウムラウトである)、または、1 つのコード ポイント (「ä」または U + 00A4) によって。For example, ä can be represented either by two code points ("a" plus U+0308, which is the combining diaeresis), or by a single code point ("ä" or U+00A4). 一部の言語では、多くの文字、文字、および言語的なコンテンツの表現で混乱が生じることができますが、複数のコード ポイントを必要とするグリフがあります。Some languages have many letters, characters, and glyphs that require multiple code points, which can cause confusion in linguistic content representation. たとえば、ΰ メ (U + 03B0、ディアリティカとトノス ギリシャ文字の小文字ウプシロン) が、同等のキャップはありません。For example, there is a ΰ (U+03B0, Greek small letter upsilon with dialytika and tonos), but there is no equivalent capital letter. このような値を大文字では、元の値だけを取得します。Uppercasing such a value simply retrieves the original value.

注意 (呼び出し元)

認識されている文字と、特定のカテゴリが属する Unicode 規格によって定義されに Unicode 標準の 1 つのバージョンから変更できます。Recognized characters and the specific categories to which they belong are defined by the Unicode standard and can change from one version of the Unicode Standard to another. 特定のバージョンの .NET Framework 内の文字の分類は、1 つのバージョンの .NET Framework が実行されている、基になるオペレーティング システムに関係なく、Unicode 規格に基づきます。Categorization of characters in a particular version of the .NET Framework is based on a single version of the Unicode Standard regardless of the underlying operating system on which the .NET Framework is running. 次の表では、以降の .NET Framework のバージョン、 .NET Framework 4.NET Framework 4 Unicode 標準のバージョンの文字を分類するために使用します。The following table lists versions of the .NET Framework since the .NET Framework 4.NET Framework 4 and the versions of the Unicode Standard used to classify characters.

.NET Framework のバージョン.NET Framework version Unicode 標準のバージョンVersion of the Unicode Standard
[!INCLUDE[net_v40_long](~/includes/net-v40-long-md.md)] [Unicode 標準バージョン 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v45](~/includes/net-v45-md.md)] [Unicode 標準バージョン 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v451](~/includes/net-v451-md.md)] [Unicode 標準バージョン 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v452](~/includes/net-v452-md.md)] [Unicode 標準バージョン 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/) [The Unicode Standard, Version 5.0.0](https://www.unicode.org/versions/Unicode5.0.0/)
[!INCLUDE[net_v46](~/includes/net-v46-md.md)] [Unicode 標準バージョン 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/) [The Unicode Standard, Version 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/)
[!INCLUDE[net_v461](~/includes/net-v461-md.md)] [Unicode 標準バージョン 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/) [The Unicode Standard, Version 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/)
[!INCLUDE[net_v462](~/includes/net-v462-md.md)] [Unicode 標準バージョン 8.0.0](https://www.unicode.org/versions/Unicode8.0.0/) [The Unicode Standard, Version 8.0.0](https://www.unicode.org/versions/Unicode8.0.0/)

Unicode 標準の各バージョンには、以前のバージョンの Unicode 文字データベースへの変更に関する情報が含まれています。Each version of the Unicode standard includes information on changes to the Unicode character database since the previous version. Unicode 文字データベースを使って、CharUnicodeInfo文字を分類するためのクラス。The Unicode character database is used by the CharUnicodeInfo class for categorizing characters.

メソッド

GetDecimalDigitValue(Char) GetDecimalDigitValue(Char) GetDecimalDigitValue(Char) GetDecimalDigitValue(Char)

指定した数字の 10 進値を取得します。Gets the decimal digit value of the specified numeric character.

GetDecimalDigitValue(String, Int32) GetDecimalDigitValue(String, Int32) GetDecimalDigitValue(String, Int32) GetDecimalDigitValue(String, Int32)

指定した文字列の指定したインデックス位置にある数字の 10 進値を取得します。Gets the decimal digit value of the numeric character at the specified index of the specified string.

GetDigitValue(Char) GetDigitValue(Char) GetDigitValue(Char) GetDigitValue(Char)

指定した数字の桁の値を取得します。Gets the digit value of the specified numeric character.

GetDigitValue(String, Int32) GetDigitValue(String, Int32) GetDigitValue(String, Int32) GetDigitValue(String, Int32)

指定した文字列の指定したインデックス位置にある数字の桁の値を取得します。Gets the digit value of the numeric character at the specified index of the specified string.

GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char)

指定した文字に関連付けられている数値を取得します。Gets the numeric value associated with the specified character.

GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32)

指定した文字列の指定したインデックス位置にある文字に関連付けられている数値を取得します。Gets the numeric value associated with the character at the specified index of the specified string.

GetUnicodeCategory(Char) GetUnicodeCategory(Char) GetUnicodeCategory(Char) GetUnicodeCategory(Char)

指定した文字の Unicode カテゴリを取得します。Gets the Unicode category of the specified character.

GetUnicodeCategory(Int32) GetUnicodeCategory(Int32) GetUnicodeCategory(Int32) GetUnicodeCategory(Int32)
GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32)

指定した文字列の指定したインデックス位置にある文字の Unicode カテゴリを取得します。Gets the Unicode category of the character at the specified index of the specified string.

適用対象

こちらもご覧ください