CharUnicodeInfo Klasse

Definition

Ruft Informationen zu einem Unicode-Zeichen ab.Retrieves information about a Unicode character. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class CharUnicodeInfo abstract sealed
public static class CharUnicodeInfo
type CharUnicodeInfo = class
Public Class CharUnicodeInfo
Vererbung
CharUnicodeInfo

Beispiele

Das folgende Codebeispiel zeigt die Werte, die von jeder Methode für verschiedene Zeichen Typen zurückgegeben werden.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

Hinweise

Der Unicode-Standard definiert eine Reihe von Unicode-Zeichen Kategorien.The Unicode Standard defines a number of Unicode character categories. Beispielsweise kann ein Zeichen als Großbuchstabe, als Kleinbuchstabe, als Dezimal Ziffer, als Buchstaben Nummer, als Absatz Trennzeichen, als Mathematisches Symbol oder als Währungssymbol kategorisiert werden.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. Die Anwendung kann die Zeichen Kategorie zum Steuern von Zeichen folgen basierten Vorgängen verwenden, z. b. zum Auswerten oder Extrahieren einer Teil Zeichenfolge mit regulären Ausdrücken.Your application can use the character category to govern string-based operations, such as parsing or extracting substring with regular expressions. Die UnicodeCategory-Enumeration definiert die möglichen Zeichen Kategorien.The UnicodeCategory enumeration defines the possible character categories.

Verwenden Sie die CharUnicodeInfo-Klasse, um den UnicodeCategory Wert für ein bestimmtes Zeichen abzurufen.You use the CharUnicodeInfo class to obtain the UnicodeCategory value for a specific character. Die CharUnicodeInfo-Klasse definiert Methoden, die die folgenden Unicode-Zeichen Werte zurückgeben:The CharUnicodeInfo class defines methods that return the following Unicode character values:

  • Die bestimmte Kategorie, zu der ein Zeichen oder Ersatz Zeichenpaar gehört.The specific category to which a character or surrogate pair belongs. Der zurückgegebene Wert ist ein Member der UnicodeCategory Enumeration.The value returned is a member of the UnicodeCategory enumeration.

  • Ein numerischer Wert.Numeric value. Gilt nur für numerische Zeichen, darunter Bruchzeichen, tief gestellte Zeichen, Superscripts, römische Ziffern, Währungs Zähler, Umbrüche und Skript spezifische Ziffern.Applies only to numeric characters, including fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits.

  • Ziffern Wert.Digit value. Gilt für numerische Zeichen, die mit anderen numerischen Zeichen kombiniert werden können, um eine ganze Zahl in einem Nummerierungssystem darzustellen.Applies to numeric characters that can be combined with other numeric characters to represent a whole number in a numbering system.

  • Dezimalziffern Wert.Decimal digit value. Gilt nur für Zeichen, die Dezimalziffern im dezimalen (Basis 10) System darstellen.Applies only to characters that represent decimal digits in the decimal (base 10) system. Bei einer Dezimal Ziffer kann es sich um eine von zehn Ziffern (von 0 bis 9) handeln.A decimal digit can be one of ten digits, from zero through nine. Diese Zeichen sind Mitglieder der Kategorie UnicodeCategory.DecimalDigitNumber.These characters are members of the UnicodeCategory.DecimalDigitNumber category.

Außerdem wird die CharUnicodeInfo-Klasse intern von einer Reihe anderer .NET Framework Typen und Methoden verwendet, die sich auf die Zeichen Klassifizierung stützen.In addition, the CharUnicodeInfo class is used internally by a number of other .NET Framework types and methods that rely on character classification. Dazu gehören:These include:

  • Die StringInfo-Klasse, die mit Textelementen anstelle von einzelnen Zeichen in einer Zeichenfolge funktioniert.The StringInfo class, which works with textual elements instead of single characters in a string.

  • Die über Ladungen der Char.GetUnicodeCategory-Methode, die die Kategorie bestimmen, zu der ein Zeichen oder Ersatz Zeichenpaar gehört.The overloads of the Char.GetUnicodeCategory method, which determine the category to which a character or surrogate pair belongs.

  • Die Zeichenklassen , die von Regexerkannt werden, die .NET Framework die Engine für reguläre Ausdrücke.The character classes recognized by Regex, the .NET Framework's regular expression engine.

Wenn Sie diese Klasse in Ihren Anwendungen verwenden, beachten Sie die folgenden Überlegungen zur Programmierung bei der Verwendung des Char Typs.When using this class in your applications, keep in mind the following programming considerations for using the Char type. Der Typ kann schwierig zu verwenden sein, und Zeichen folgen sind im Allgemeinen für die Darstellung linguistischer Inhalte vorzuziehen.The type can be difficult to use, and strings are generally preferable for representing linguistic content.

  • Ein Char-Objekt entspricht nicht immer einem einzelnen Zeichen.A Char object does not always correspond to a single character. Obwohl der Char Typ einen einzelnen 16-Bit-Wert darstellt, bestehen einige Zeichen (z. b. graphemgruppen-Cluster und Ersatz Zeichenpaare) aus zwei oder mehr UTF-16-Code Einheiten.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. Weitere Informationen finden Sie unter "Char-Objekte und Unicode-Zeichen" in der String-Klasse.For more information, see "Char Objects and Unicode Characters" in the String class.

  • Das Konzept eines "Zeichens" ist ebenfalls flexibel.The notion of a "character" is also flexible. Ein Zeichen wird häufig als Symbol betrachtet, aber viele Symbole erfordern mehrere Code Punkte.A character is often thought of as a glyph, but many glyphs require multiple code points. Beispielsweise kann ä entweder durch zwei Code Punkte ("a" plus U + 0308, die Kombination von DIAERESIS) oder durch einen einzelnen Codepunkt ("ä" oder U + 00a4) dargestellt werden.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). Einige Sprachen verfügen über viele Buchstaben, Zeichen und Symbole, die mehrere Code Punkte erfordern, was Verwirrung in der Darstellung von linguistischen Inhalten verursachen kann.Some languages have many letters, characters, and glyphs that require multiple code points, which can cause confusion in linguistic content representation. Beispielsweise gibt es eine ΰ (U + 03b0, Greek Small Letter Upsilon with dialytika und TONOS), es gibt jedoch keinen entsprechenden Großbuchstaben.For example, there is a ΰ (U+03B0, Greek small letter upsilon with dialytika and tonos), but there is no equivalent capital letter. Durch die Groß Schreibung eines solchen Werts wird lediglich der ursprüngliche Wert abgerufen.Uppercasing such a value simply retrieves the original value.

Hinweise für Aufrufer

Erkannte Zeichen und die spezifischen Kategorien, zu denen Sie gehören, werden vom Unicode-Standard definiert und können von einer Version des Unicode-Standards in eine andere geändert werden.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. Die Kategorisierung von Zeichen in einer bestimmten Version des .NET Framework basiert auf einer einzelnen Version des Unicode-Standards, unabhängig vom zugrunde liegenden Betriebssystem, auf dem die .NET Framework ausgeführt wird.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. In der folgenden Tabelle sind die Versionen der .NET Framework aufgeführt, die seit dem .NET Framework 4.NET Framework 4 und den Versionen des Unicode-Standards zum Klassifizieren von Zeichen verwendet werden.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-Version.NET Framework version Version des Unicode-StandardsVersion of the Unicode Standard
[!INCLUDE[net_v40_long](~/includes/net-v40-long-md.md)] [Der Unicode-Standard, 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)] [Der Unicode-Standard, 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)] [Der Unicode-Standard, 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)] [Der Unicode-Standard, 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)] [Der Unicode-Standard, 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)] [Der Unicode-Standard, 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)] [Der Unicode-Standard, 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/)

Jede Version des Unicode-Standards enthält Informationen zu Änderungen an der Unicode-Zeichen Datenbank seit der vorherigen Version.Each version of the Unicode standard includes information on changes to the Unicode character database since the previous version. Die Unicode-Zeichen Datenbank wird von der CharUnicodeInfo-Klasse zum Kategorisierungs Zeichen verwendet.The Unicode character database is used by the CharUnicodeInfo class for categorizing characters.

Methoden

GetDecimalDigitValue(Char)

Ruft den Dezimalziffernwert des angegebenen numerischen Zeichens ab.Gets the decimal digit value of the specified numeric character.

GetDecimalDigitValue(String, Int32)

Ruft den Dezimalziffernwert des numerischen Zeichens am angegebenen Index der angegebenen Zeichenfolge ab.Gets the decimal digit value of the numeric character at the specified index of the specified string.

GetDigitValue(Char)

Ruft den Ziffernwert des angegebenen numerischen Zeichens ab.Gets the digit value of the specified numeric character.

GetDigitValue(String, Int32)

Ruft den Ziffernwert des numerischen Zeichens am angegebenen Index der angegebenen Zeichenfolge ab.Gets the digit value of the numeric character at the specified index of the specified string.

GetNumericValue(Char)

Ruft den dem angegebenen Zeichen zugeordneten numerischen Wert ab.Gets the numeric value associated with the specified character.

GetNumericValue(String, Int32)

Ruft den dem Zeichen am angegebenen Index der angegebenen Zeichenfolge zugeordneten numerischen Wert ab.Gets the numeric value associated with the character at the specified index of the specified string.

GetUnicodeCategory(Char)

Ruft die Unicode-Kategorie des angegebenen Zeichens ab.Gets the Unicode category of the specified character.

GetUnicodeCategory(Int32)

Ruft die Unicode-Kategorie des angegebenen Zeichens ab.Gets the Unicode category of the specified character.

GetUnicodeCategory(String, Int32)

Ruft die Unicode-Kategorie des Zeichens am angegebenen Index der angegebenen Zeichenfolge ab.Gets the Unicode category of the character at the specified index of the specified string.

Gilt für:

Siehe auch