CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo Class

Определение

Получает сведения о символе Юникода.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

Комментарии

Стандарта Юникод определяет несколько категорий символов Юникода.The Unicode Standard defines a number of Unicode character categories. Например символ могут быть отнесены прописной буквой, буквой в нижнем регистре, десятичной цифрой, буквы, цифры, разделителем абзацев, математическим символом или символ валюты.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 Класс определяет методы, которые возвращают следующие символы Юникода: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.

  • Десятичное цифровое значение.Decimal digit value. Применяется только к символов, представляющих десятичные цифры в системе десятичным (основание 10).Applies only to characters that represent decimal digits in the decimal (base 10) system. Десятичная цифра может принимать одно из десяти цифр от 0 – 9.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 Класс, который работает с текстовые элементы, а не отдельные символы в строке.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.

  • Объект Char объекта не всегда соответствует один символ.A Char object does not always correspond to a single character. Несмотря на то что Char тип представляет одиночное значение 16-разрядное, некоторые символы (например кластерами графем и суррогатные пары) состоят из двух или более частей кода 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. Дополнительные сведения см. в разделе «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. Например, может быть д, представленное на два кодовые точки («a» и U + 0308, являющийся diaeresis объединения), или объект одну кодовую точку («д» или 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, греческую букву ипсилон с dialytika и тоносом), но есть без эквивалентные прописные буквы.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.

Примечания для тех, кто вызывает этот метод

Распознанных символов и отдельные категории, к которым они принадлежат определены в стандарте Юникода и можно изменить с одной версии стандарта Юникод на другую.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 основан на одну версию стандарта Юникод, независимо от базовой операционной системы, на котором запущена платформа .NET Framework.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 и версии стандарта Юникод, используемый для классификации символов.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 Версия стандарта ЮникодVersion of the Unicode Standard
[!INCLUDE[net_v40_long](~/includes/net-v40-long-md.md)] [Стандарт Юникод версии 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)] [Стандарт Юникод версии 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)] [Стандарт Юникод версии 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)] [Стандарт Юникод версии 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)] [Стандарт Юникод версии 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)] [Стандарт Юникод версии 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)] [Стандарт Юникод версии 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 включает сведения об изменениях, чтобы база данных символов Юникода, с предыдущей версией.Each version of the Unicode standard includes information on changes to the Unicode character database since the previous version. База данных символов Юникода используется CharUnicodeInfo класс для классификации символов.The Unicode character database is used by the CharUnicodeInfo class for categorizing characters.

Методы

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

Получает десятичное цифровое значение указанного числового символа.Gets the decimal digit value of the specified numeric character.

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

Получает десятичное цифровое значение числового символа на месте указанного индекса указанной строки.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)

Получает категорию Юникода, относящуюся к указанному символу.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)

Получает категорию Юникода, относящуюся к символу, расположенному по заданному индексу в заданной строке.Gets the Unicode category of the character at the specified index of the specified string.

Применяется к

Дополнительно