CharUnicodeInfo.GetUnicodeCategory Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Unicode-Kategorie eines Unicode-Zeichens ab.
Überlädt
| Name | Beschreibung |
|---|---|
| GetUnicodeCategory(Char) |
Ruft die Unicode-Kategorie des angegebenen Zeichens ab. |
| GetUnicodeCategory(Int32) |
Ruft die Unicode-Kategorie des angegebenen Zeichens ab. |
| GetUnicodeCategory(String, Int32) |
Ruft die Unicode-Kategorie des Zeichens am angegebenen Index der angegebenen Zeichenfolge ab. |
GetUnicodeCategory(Char)
Ruft die Unicode-Kategorie des angegebenen Zeichens ab.
public:
static System::Globalization::UnicodeCategory GetUnicodeCategory(char ch);
public static System.Globalization.UnicodeCategory GetUnicodeCategory(char ch);
static member GetUnicodeCategory : char -> System.Globalization.UnicodeCategory
Public Shared Function GetUnicodeCategory (ch As Char) As UnicodeCategory
Parameter
- ch
- Char
Das Unicode-Zeichen, für das die Unicode-Kategorie abgerufen werden soll.
Gibt zurück
Ein UnicodeCategory Wert, der die Kategorie des angegebenen Zeichens angibt.
Beispiele
Das folgende Codebeispiel zeigt die Werte, die von jeder Methode für unterschiedliche Zeichentypen zurückgegeben werden.
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 Γ -1 -1 -1 UppercaseLetter
U+0039 DIGIT NINE 9 9 9 9 DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO ² 2 2 -1 OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER ¼ 0.25 -1 -1 OtherNumber
U+0BEF TAMIL DIGIT NINE ௯ 9 9 9 DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN ௰ 10 -1 -1 OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO ༳ -0.5 -1 -1 OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE ➈ 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 Γ -1 -1 -1 UppercaseLetter
'U+0039 DIGIT NINE 9 9 9 9 DecimalDigitNumber
'U+00B2 SUPERSCRIPT TWO ² 2 2 -1 OtherNumber
'U+00BC VULGAR FRACTION ONE QUARTER ¼ 0.25 -1 -1 OtherNumber
'U+0BEF TAMIL DIGIT NINE ௯ 9 9 9 DecimalDigitNumber
'U+0BF0 TAMIL NUMBER TEN ௰ 10 -1 -1 OtherNumber
'U+0F33 TIBETAN DIGIT HALF ZERO ༳ -0.5 -1 -1 OtherNumber
'U+2788 CIRCLED SANS-SERIF DIGIT NINE ➈ 9 9 -1 OtherNumber
Hinweise
Die Unicode-Zeichen sind in Kategorien unterteilt. Die Kategorie eines Zeichens ist eine seiner Eigenschaften. Beispielsweise kann es sich bei einem Zeichen um einen Großbuchstaben, einen Kleinbuchstaben, eine Dezimalziffer, eine Buchstabennummer, eine Buchstabennummer, eine Verbinderzeichen, ein mathematisches Symbol oder ein Währungssymbol handeln. Die UnicodeCategory Enumeration definiert die Kategorie eines Unicode-Zeichens. Weitere Informationen zu Unicode-Zeichen finden Sie im Unicode-Standard.
Die GetUnicodeCategory Methode geht davon aus, dass ch sie einem einzelnen sprachlichen Zeichen entspricht und die Kategorie zurückgibt. Dies bedeutet, dass sie für Ersatzpaare anstelle der Kategorie zurückgegeben UnicodeCategory.Surrogate wird, zu der der Ersatz gehört. Beispielsweise belegt das Ugaritische Alphabet Codepunkte U+10380 auf U+1039F. Im folgenden Beispiel wird die ConvertFromUtf32 Methode verwendet, um eine Zeichenfolge zu instanziieren, die UGARITIC LETTER ALPA (U+10380) darstellt, bei der es sich um den ersten Buchstaben des Ugaritischen Alphabets handelt. Wie die Ausgabe aus dem Beispiel zeigt, gibt die IsNumber(Char) Methode zurück false , wenn sie entweder den hohen Ersatz oder den niedrigen Ersatz dieses Zeichens übergeben wird.
int utf32 = 0x10380; // UGARITIC LETTER ALPA
string surrogate = Char.ConvertFromUtf32(utf32);
foreach (var ch in surrogate)
Console.WriteLine($"U+{(ushort)ch:X4}: {System.Globalization.CharUnicodeInfo.GetUnicodeCategory(ch):G}");
// The example displays the following output:
// U+D800: Surrogate
// U+DF80: Surrogate
Dim utf32 As Integer = &h10380 ' UGARITIC LETTER ALPA
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For Each ch In surrogate
Console.WriteLine("U+{0:X4}: {1:G}",
Convert.ToUInt16(ch),
System.Globalization.CharUnicodeInfo.GetUnicodeCategory(ch))
Next
' The example displays the following output:
' U+D800: Surrogate
' U+DF80: Surrogate
Beachten Sie, dass CharUnicodeInfo.GetUnicodeCategory beim Übergeben eines bestimmten Zeichens als Parameter nicht immer derselbe UnicodeCategory Wert wie die Char.GetUnicodeCategory Methode zurückgegeben wird. Die CharUnicodeInfo.GetUnicodeCategory Methode soll die aktuelle Version des Unicode-Standards widerspiegeln. Im Gegensatz dazu gibt die Methode, obwohl die Char.GetUnicodeCategory Methode normalerweise die aktuelle Version des Unicode-Standards widerspiegelt, die Kategorie eines Zeichens basierend auf einer früheren Version des Standards zurück, oder es kann eine Kategorie zurückgeben, die sich von dem aktuellen Standard unterscheidet, um die Abwärtskompatibilität beizubehalten.
Weitere Informationen
Gilt für:
GetUnicodeCategory(Int32)
Ruft die Unicode-Kategorie des angegebenen Zeichens ab.
public:
static System::Globalization::UnicodeCategory GetUnicodeCategory(int codePoint);
public static System.Globalization.UnicodeCategory GetUnicodeCategory(int codePoint);
static member GetUnicodeCategory : int -> System.Globalization.UnicodeCategory
Public Shared Function GetUnicodeCategory (codePoint As Integer) As UnicodeCategory
Parameter
- codePoint
- Int32
Eine Zahl, die den 32-Bit-Codepunktwert des Unicode-Zeichens darstellt.
Gibt zurück
Ein UnicodeCategory Wert, der die Kategorie des angegebenen Zeichens angibt.
Gilt für:
GetUnicodeCategory(String, Int32)
Ruft die Unicode-Kategorie des Zeichens am angegebenen Index der angegebenen Zeichenfolge ab.
public:
static System::Globalization::UnicodeCategory GetUnicodeCategory(System::String ^ s, int index);
public static System.Globalization.UnicodeCategory GetUnicodeCategory(string s, int index);
static member GetUnicodeCategory : string * int -> System.Globalization.UnicodeCategory
Public Shared Function GetUnicodeCategory (s As String, index As Integer) As UnicodeCategory
Parameter
- s
- String
Das String enthaltende Unicode-Zeichen, für das die Unicode-Kategorie abgerufen werden soll.
- index
- Int32
Der Index des Unicode-Zeichens, für das die Unicode-Kategorie abgerufen werden soll.
Gibt zurück
Ein UnicodeCategory Wert, der die Kategorie des Zeichens am angegebenen Index der angegebenen Zeichenfolge angibt.
Ausnahmen
s ist null.
index liegt außerhalb des Bereichs gültiger Indizes in s.
Beispiele
Das folgende Codebeispiel zeigt die Werte, die von jeder Methode für unterschiedliche Zeichentypen zurückgegeben werden.
using System;
using System.Globalization;
public class SamplesCharUnicodeInfo {
public static void Main() {
// The String to get information for.
String s = "a9\u0393\u00B2\u00BC\u0BEF\u0BF0\u2788";
Console.WriteLine( "String: {0}", s );
// Print the values for each of the characters in the string.
Console.WriteLine( "index c Num Dig Dec UnicodeCategory" );
for ( int i = 0; i < s.Length; i++ ) {
Console.Write( "{0,-5} {1,-3}", i, s[i] );
Console.Write( " {0,-5}", CharUnicodeInfo.GetNumericValue( s, i ) );
Console.Write( " {0,-5}", CharUnicodeInfo.GetDigitValue( s, i ) );
Console.Write( " {0,-5}", CharUnicodeInfo.GetDecimalDigitValue( s, i ) );
Console.WriteLine( "{0}", CharUnicodeInfo.GetUnicodeCategory( s, i ) );
}
}
}
/*
This code produces the following output. Some characters might not display at the console.
String: a9Γ²¼௯௰➈
index c Num Dig Dec UnicodeCategory
0 a -1 -1 -1 LowercaseLetter
1 9 9 9 9 DecimalDigitNumber
2 Γ -1 -1 -1 UppercaseLetter
3 ² 2 2 -1 OtherNumber
4 ¼ 0.25 -1 -1 OtherNumber
5 ௯ 9 9 9 DecimalDigitNumber
6 ௰ 10 -1 -1 OtherNumber
7 ➈ 9 9 -1 OtherNumber
*/
Imports System.Globalization
Public Class SamplesCharUnicodeInfo
Public Shared Sub Main()
' The String to get information for.
Dim s As [String] = "a9\u0393\u00B2\u00BC\u0BEF\u0BF0\u2788"
Console.WriteLine("String: {0}", s)
' Print the values for each of the characters in the string.
Console.WriteLine("index c Num Dig Dec UnicodeCategory")
Dim i As Integer
For i = 0 To s.Length - 1
Console.Write("{0,-5} {1,-3}", i, s(i))
Console.Write(" {0,-5}", CharUnicodeInfo.GetNumericValue(s, i))
Console.Write(" {0,-5}", CharUnicodeInfo.GetDigitValue(s, i))
Console.Write(" {0,-5}", CharUnicodeInfo.GetDecimalDigitValue(s, i))
Console.WriteLine("{0}", CharUnicodeInfo.GetUnicodeCategory(s, i))
Next i
End Sub
End Class
'This code produces the following output. Some characters might not display at the console.
'
'String: a9Γ²¼௯௰➈
'index c Num Dig Dec UnicodeCategory
'0 a -1 -1 -1 LowercaseLetter
'1 9 9 9 9 DecimalDigitNumber
'2 Γ -1 -1 -1 UppercaseLetter
'3 ² 2 2 -1 OtherNumber
'4 ¼ 0.25 -1 -1 OtherNumber
'5 ௯ 9 9 9 DecimalDigitNumber
'6 ௰ 10 -1 -1 OtherNumber
'7 ➈ 9 9 -1 OtherNumber
Hinweise
Die Unicode-Zeichen sind in Kategorien unterteilt. Die Kategorie eines Zeichens ist eine seiner Eigenschaften. Beispielsweise kann es sich bei einem Zeichen um einen Großbuchstaben, einen Kleinbuchstaben, eine Dezimalziffer, eine Buchstabennummer, eine Buchstabennummer, eine Verbinderzeichen, ein mathematisches Symbol oder ein Währungssymbol handeln. Die UnicodeCategory Enumeration definiert die Kategorie eines Unicode-Zeichens. Weitere Informationen zu Unicode-Zeichen finden Sie im Unicode-Standard.
Wenn das Char Objekt an der Position index das erste Zeichen eines gültigen Ersatzpaars ist, gibt die GetUnicodeCategory(String, Int32) Methode die Unicode-Kategorie des Ersatzpaars zurück, anstatt es zurückzugeben UnicodeCategory.Surrogate. Beispielsweise belegt das Ugaritische Alphabet Codepunkte U+10380 auf U+1039F. Im folgenden Beispiel wird die ConvertFromUtf32 Methode verwendet, um eine Zeichenfolge zu instanziieren, die UGARITIC LETTER ALPA (U+10380) darstellt, bei der es sich um den ersten Buchstaben des Ugaritischen Alphabets handelt. Wie die Ausgabe aus dem Beispiel zeigt, gibt die GetUnicodeCategory(String, Int32) Methode zurück UnicodeCategory.OtherLetter , wenn sie den hohen Ersatz dieses Zeichens übergeben wird, was angibt, dass es das Ersatzpaar berücksichtigt. Wenn es jedoch an der niedrigen Surrogate übergeben wird, betrachtet es nur den niedrigen Ersatz isoliert und gibt zurück UnicodeCategory.Surrogate.
int utf32 = 0x10380; // UGARITIC LETTER ALPA
string surrogate = Char.ConvertFromUtf32(utf32);
for (int ctr = 0; ctr < surrogate.Length; ctr++)
Console.WriteLine($"U+{(ushort)surrogate[ctr]:X4}: {System.Globalization.CharUnicodeInfo.GetUnicodeCategory(surrogate, ctr):G}");
// The example displays the following output:
// U+D800: OtherLetter
// U+DF80: Surrogate
Dim utf32 As Integer = &h10380 ' UGARITIC LETTER ALPA
Dim surrogate As String = Char.ConvertFromUtf32(utf32)
For ctr As Integer = 0 To surrogate.Length - 1
Console.WriteLine("U+{0:X4}: {1:G}",
Convert.ToUInt16(surrogate(ctr)),
System.Globalization.CharUnicodeInfo.GetUnicodeCategory(surrogate, ctr))
Next
' The example displays the following output:
' U+D800: OtherLetter
' U+DF80: Surrogate
Beachten Sie, dass CharUnicodeInfo.GetUnicodeCategory die Methode nicht immer denselben UnicodeCategory Wert wie die Char.GetUnicodeCategory Methode zurückgibt, wenn ein bestimmtes Zeichen als Parameter übergeben wird. Die CharUnicodeInfo.GetUnicodeCategory Methode soll die aktuelle Version des Unicode-Standards widerspiegeln. Im Gegensatz dazu gibt die Methode, obwohl die Char.GetUnicodeCategory Methode normalerweise die aktuelle Version des Unicode-Standards widerspiegelt, die Kategorie eines Zeichens basierend auf einer früheren Version des Standards zurück, oder es kann eine Kategorie zurückgeben, die sich von dem aktuellen Standard unterscheidet, um die Abwärtskompatibilität beizubehalten.