CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo CharUnicodeInfo Class

Definición

Recupera información sobre un carácter Unicode.Retrieves information about a Unicode character. Esta clase no puede heredarse.This class cannot be inherited.

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

Ejemplos

En el ejemplo de código siguiente se muestran los valores devueltos por cada método para diferentes tipos de caracteres.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.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       \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

Comentarios

El estándar Unicode define un número de categorías de caracteres Unicode.The Unicode Standard defines a number of Unicode character categories. Por ejemplo, un carácter puede clasificarse como una letra mayúscula, una letra minúscula, un número de dígito decimal, un número de letra, un separador de párrafo, un símbolo matemático o un símbolo de divisa.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. La aplicación puede usar la categoría de caracteres para controlar las operaciones basadas en cadenas, como el análisis o la extracción de subcadenas con expresiones regulares.Your application can use the character category to govern string-based operations, such as parsing or extracting substring with regular expressions. La UnicodeCategory enumeración define las categorías de caracteres posibles.The UnicodeCategory enumeration defines the possible character categories.

Utilice la CharUnicodeInfo clase para obtener el UnicodeCategory valor de un carácter específico.You use the CharUnicodeInfo class to obtain the UnicodeCategory value for a specific character. La CharUnicodeInfo clase define métodos que devuelven los siguientes valores de caracteres Unicode:The CharUnicodeInfo class defines methods that return the following Unicode character values:

  • Categoría específica a la que pertenece un carácter o par suplente.The specific category to which a character or surrogate pair belongs. El valor devuelto es un miembro de UnicodeCategory la enumeración.The value returned is a member of the UnicodeCategory enumeration.

  • Valor numérico.Numeric value. Solo se aplica a caracteres numéricos, como fracciones, subíndices, superíndices, números romanos, numeradores de moneda, números decimales y dígitos específicos del script.Applies only to numeric characters, including fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits.

  • Valor de dígito.Digit value. Se aplica a los caracteres numéricos que se pueden combinar con otros caracteres numéricos para representar un número entero en un sistema de numeración.Applies to numeric characters that can be combined with other numeric characters to represent a whole number in a numbering system.

  • Valor de dígito decimal.Decimal digit value. Solo se aplica a caracteres que representan dígitos decimales en el sistema decimal (base 10).Applies only to characters that represent decimal digits in the decimal (base 10) system. Un dígito decimal puede tener uno de diez dígitos, de cero a nueve.A decimal digit can be one of ten digits, from zero through nine. Estos caracteres son miembros de la UnicodeCategory.DecimalDigitNumber categoría.These characters are members of the UnicodeCategory.DecimalDigitNumber category.

Además, la CharUnicodeInfo clase se usa internamente en varios otros tipos de .NET Framework y métodos que se basan en la clasificación de caracteres.In addition, the CharUnicodeInfo class is used internally by a number of other .NET Framework types and methods that rely on character classification. Se incluyen los siguientes:These include:

  • La StringInfo clase, que funciona con elementos de texto en lugar de caracteres individuales de una cadena.The StringInfo class, which works with textual elements instead of single characters in a string.

  • Sobrecargas del Char.GetUnicodeCategory método, que determinan la categoría a la que pertenece un carácter o par suplente.The overloads of the Char.GetUnicodeCategory method, which determine the category to which a character or surrogate pair belongs.

  • Clases de caracteres reconocidas por Regex, el motor de expresiones regulares del .NET Framework.The character classes recognized by Regex, the .NET Framework's regular expression engine.

Al usar esta clase en sus aplicaciones, tenga en cuenta las siguientes consideraciones de programación para el Char uso del tipo.When using this class in your applications, keep in mind the following programming considerations for using the Char type. El tipo puede ser difícil de usar y las cadenas suelen ser preferibles para representar el contenido lingüístico.The type can be difficult to use, and strings are generally preferable for representing linguistic content.

  • Un Char objeto no siempre se corresponde con un carácter único.A Char object does not always correspond to a single character. Aunque el Char tipo representa un único valor de 16 bits, algunos caracteres (como los clústeres de grapheme y los pares suplentes) se componen de dos o más unidades de código 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. Para obtener más información, vea "objetos Char y caracteres Unicode" en String la clase.For more information, see "Char Objects and Unicode Characters" in the String class.

  • La noción de un "carácter" también es flexible.The notion of a "character" is also flexible. Un carácter a menudo se considera un glifo, pero muchos glifos requieren varios puntos de código.A character is often thought of as a glyph, but many glyphs require multiple code points. Por ejemplo, ä puede representarse por dos puntos de código ("a" más U + 0308, que es la diéresis de combinación), o por un solo punto de código ("ä" o 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). Algunos idiomas tienen muchas letras, caracteres y glifos que requieren varios puntos de código, lo que puede causar confusión en la representación del contenido lingüístico.Some languages have many letters, characters, and glyphs that require multiple code points, which can cause confusion in linguistic content representation. Por ejemplo, hay una ΰ (U + 03B0, una letra griega minúscula, con dialytika y tonos), pero no hay ninguna letra mayúscula equivalente.For example, there is a ΰ (U+03B0, Greek small letter upsilon with dialytika and tonos), but there is no equivalent capital letter. Uppercasing este tipo de valor simplemente recupera el valor original.Uppercasing such a value simply retrieves the original value.

Notas a los autores de las llamadas

Los caracteres reconocidos y las categorías específicas a las que pertenecen se definen mediante el estándar Unicode y pueden cambiar de una versión del estándar Unicode a otra.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. La categorización de caracteres en una versión determinada del .NET Framework se basa en una única versión del estándar Unicode, independientemente del sistema operativo subyacente en el que se esté ejecutando el .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. En la tabla siguiente se enumeran las versiones de .NET Framework 4.NET Framework 4 los .NET Framework desde y las versiones del estándar Unicode utilizadas para clasificar los caracteres.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.

Versión de .NET Framework.NET Framework version Versión del estándar UnicodeVersion of the Unicode Standard
[!INCLUDE[net_v40_long](~/includes/net-v40-long-md.md)] [El estándar Unicode, versión 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)] [El estándar Unicode, versión 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)] [El estándar Unicode, versión 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)] [El estándar Unicode, versión 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)] [El estándar Unicode, versión 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)] [El estándar Unicode, versión 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)] [El estándar Unicode, versión 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/)

Cada versión del estándar Unicode incluye información sobre los cambios en la base de datos de caracteres Unicode desde la versión anterior.Each version of the Unicode standard includes information on changes to the Unicode character database since the previous version. La CharUnicodeInfo clase utiliza la base de datos de caracteres Unicode para clasificar los caracteres.The Unicode character database is used by the CharUnicodeInfo class for categorizing characters.

Métodos

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

Obtiene el valor de dígito decimal del carácter numérico especificado.Gets the decimal digit value of the specified numeric character.

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

Obtiene el valor de dígito decimal del carácter numérico situado en el índice especificado de la cadena especificada.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)

Obtiene el valor de dígito del carácter numérico especificado.Gets the digit value of the specified numeric character.

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

Obtiene el valor de dígito del carácter numérico situado en el índice especificado de la cadena especificada.Gets the digit value of the numeric character at the specified index of the specified string.

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

Obtiene el valor numérico asociado al carácter especificado.Gets the numeric value associated with the specified character.

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

Obtiene el valor numérico asociado al carácter situado en el índice especificado de la cadena especificada.Gets the numeric value associated with the character at the specified index of the specified string.

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

Obtiene la categoría de Unicode del carácter especificado.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)

Obtiene la categoría de Unicode del carácter situado en el índice especificado de la cadena especificada.Gets the Unicode category of the character at the specified index of the specified string.

Se aplica a

Consulte también: