CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo Class

Définition

Récupère des informations sur un caractère Unicode.Retrieves information about a Unicode character. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class CharUnicodeInfo abstract sealed
public static class CharUnicodeInfo
type CharUnicodeInfo = class
Public Class CharUnicodeInfo
Héritage
CharUnicodeInfoCharUnicodeInfoCharUnicodeInfoCharUnicodeInfo

Exemples

L’exemple de code suivant montre les valeurs retournées par chaque méthode pour différents types de caractères.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

Remarques

Le norme Unicode définit un certain nombre de catégories de caractères Unicode.The Unicode Standard defines a number of Unicode character categories. Par exemple, un caractère peut être catégorisé comme une lettre majuscule, une lettre minuscule, un chiffre décimal nombre, un lettre, un chiffre, un séparateur de paragraphe, un symbole mathématique ou un symbole monétaire.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. Votre application peut utiliser la catégorie de caractères pour gérer les opérations basé sur chaîne, telles que l’analyse ou de l’extraction de sous-chaîne avec des expressions régulières.Your application can use the character category to govern string-based operations, such as parsing or extracting substring with regular expressions. Le UnicodeCategory énumération définit les catégories de caractères possibles.The UnicodeCategory enumeration defines the possible character categories.

Vous utilisez le CharUnicodeInfo classe pour obtenir la UnicodeCategory valeur pour un caractère spécifique.You use the CharUnicodeInfo class to obtain the UnicodeCategory value for a specific character. Le CharUnicodeInfo classe définit des méthodes qui retournent les valeurs de caractère Unicode suivantes :The CharUnicodeInfo class defines methods that return the following Unicode character values:

  • La catégorie spécifique à laquelle appartient une paire de substitution ou caractère.The specific category to which a character or surrogate pair belongs. La valeur retournée est un membre de la UnicodeCategory énumération.The value returned is a member of the UnicodeCategory enumeration.

  • Valeur numérique.Numeric value. S’applique uniquement aux caractères numériques, y compris les fractions, indices, des exposants, des chiffres romains, numérateurs de devise, des nombres et les chiffres spécifiques à un script.Applies only to numeric characters, including fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits.

  • Valeur de chiffre.Digit value. S’applique aux caractères numériques qui peuvent être combinées avec d’autres caractères numériques pour représenter un nombre entier dans un système de numérotation.Applies to numeric characters that can be combined with other numeric characters to represent a whole number in a numbering system.

  • Valeur de chiffre décimal.Decimal digit value. S’applique uniquement aux caractères qui représentent des chiffres décimaux dans le système décimal (base 10).Applies only to characters that represent decimal digits in the decimal (base 10) system. Un chiffre décimal peut être un des dix chiffres, de zéro à neuf.A decimal digit can be one of ten digits, from zero through nine. Ces caractères sont membres de la UnicodeCategory.DecimalDigitNumber catégorie.These characters are members of the UnicodeCategory.DecimalDigitNumber category.

En outre, la CharUnicodeInfo classe est utilisée en interne par un nombre d’autres types .NET Framework et les méthodes qui s’appuient sur la classification des caractères.In addition, the CharUnicodeInfo class is used internally by a number of other .NET Framework types and methods that rely on character classification. Elles incluent notamment :These include:

  • Le StringInfo (classe), qui fonctionne avec des éléments textuels au lieu des caractères uniques dans une chaîne.The StringInfo class, which works with textual elements instead of single characters in a string.

  • Les surcharges de la Char.GetUnicodeCategory (méthode), qui déterminent la catégorie à laquelle appartient une paire de substitution ou caractère.The overloads of the Char.GetUnicodeCategory method, which determine the category to which a character or surrogate pair belongs.

  • Le classes de caractères reconnu par Regex, moteur d’expression régulière du .NET Framework.The character classes recognized by Regex, the .NET Framework's regular expression engine.

Lorsque vous utilisez cette classe dans vos applications, gardent à l’esprit les éléments suivants de programmation considérations sur l’utilisation du Char type.When using this class in your applications, keep in mind the following programming considerations for using the Char type. Le type peut être difficile à utiliser, et les chaînes sont généralement préférables pour représenter le contenu linguistique.The type can be difficult to use, and strings are generally preferable for representing linguistic content.

  • Un Char objet ne correspond pas toujours à un caractère unique.A Char object does not always correspond to a single character. Bien que le Char type représente une valeur 16 bits unique, certains caractères (par exemple, les clusters de groupes de graphèmes et les paires de substitution) se composent de deux ou plusieurs unités de code 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. Pour plus d’informations, consultez « Objets Char et caractères Unicode » dans la String classe.For more information, see "Char Objects and Unicode Characters" in the String class.

  • La notion de « caractère » est également flexible.The notion of a "character" is also flexible. Un caractère est souvent considéré comme un glyphe, mais de nombreux glyphes requièrent plusieurs points de code.A character is often thought of as a glyph, but many glyphs require multiple code points. Par exemple, ä peut être représenté par deux points de code (« a » plus U + 0308, qui est le tréma de combinaison), ou par un seul point de code (« ä » ou U + 00 a 4).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). Certains langages ont de lettres, des caractères et des glyphes qui requièrent plusieurs points de code, ce qui peuvent entraîner une confusion dans la représentation du contenu linguistique.Some languages have many letters, characters, and glyphs that require multiple code points, which can cause confusion in linguistic content representation. Par exemple, il existe un ΰ (U + 03 b 0, lettre minuscule grecque upsilon tréma et accent), mais il n’existe aucun équivalent majuscule.For example, there is a ΰ (U+03B0, Greek small letter upsilon with dialytika and tonos), but there is no equivalent capital letter. Lettres majuscules d’une telle valeur récupère simplement la valeur d’origine.Uppercasing such a value simply retrieves the original value.

Notes pour les appelants

Caractères reconnus et les catégories spécifiques auxquels ils appartiennent sont définis par la norme Unicode et peuvent changer d’une version de la norme Unicode vers un autre.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. Catégorisation de caractères dans une version particulière du .NET Framework est basée sur une seule version de la norme Unicode, quel que soit le système d’exploitation sous-jacent sur lequel le .NET Framework est en cours d’exécution.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. Le tableau suivant répertorie les versions du .NET Framework depuis le .NET Framework 4.NET Framework 4 et les versions de la norme Unicode utilisaient pour la classification des caractères.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.

Version du .NET Framework.NET Framework version Version de la norme Unicode StandardVersion of the Unicode Standard
[!INCLUDE[net_v40_long](~/includes/net-v40-long-md.md)] [La norme Unicode, Version 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)] [La norme Unicode, Version 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)] [La norme Unicode, Version 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)] [La norme Unicode, Version 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)] [La norme Unicode, Version 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)] [La norme Unicode, Version 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)] [La norme Unicode, Version 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/)

Chaque version du standard Unicode inclut des informations sur les modifications apportées à la base de données de caractères Unicode depuis la version précédente.Each version of the Unicode standard includes information on changes to the Unicode character database since the previous version. La base de données de caractère Unicode est utilisé par le CharUnicodeInfo classe pour classer les caractères.The Unicode character database is used by the CharUnicodeInfo class for categorizing characters.

Méthodes

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

Obtient la valeur de chiffre décimal du caractère numérique spécifié.Gets the decimal digit value of the specified numeric character.

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

Obtient la valeur de chiffre décimal du caractère numérique à l’index spécifié de la chaîne spécifiée.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)

Obtient la valeur de chiffre du caractère numérique spécifié.Gets the digit value of the specified numeric character.

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

Obtient la valeur de chiffre du caractère numérique à l’index spécifié de la chaîne spécifiée.Gets the digit value of the numeric character at the specified index of the specified string.

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

Obtient la valeur numérique associée au caractère spécifié.Gets the numeric value associated with the specified character.

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

Obtient la valeur numérique associée au caractère à l’index spécifié de la chaîne spécifiée.Gets the numeric value associated with the character at the specified index of the specified string.

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

Obtient la catégorie Unicode du caractère spécifié.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)

Obtient la catégorie Unicode du caractère à l’index spécifié de la chaîne spécifiée.Gets the Unicode category of the character at the specified index of the specified string.

S’applique à

Voir aussi