UnicodeCategory Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje kategorię Unicode znaku.
public enum class UnicodeCategory
public enum UnicodeCategory
[System.Serializable]
public enum UnicodeCategory
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum UnicodeCategory
type UnicodeCategory =
[<System.Serializable>]
type UnicodeCategory =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UnicodeCategory =
Public Enum UnicodeCategory
- Dziedziczenie
- Atrybuty
Pola
| Nazwa | Wartość | Opis |
|---|---|---|
| UppercaseLetter | 0 | Wielka litera. Oznaczony oznaczeniem Unicode "Lu" (litera, wielkie litery). Wartość to 0. |
| LowercaseLetter | 1 | Mała litera. Oznaczony oznaczeniem Unicode "Ll" (litera, małe litery). Wartość to 1. |
| TitlecaseLetter | 2 | Litera tytułowa. Oznaczony oznaczeniem Unicode "Lt" (litera, tytuł). Wartość to 2. |
| ModifierLetter | 3 | Znak litery modyfikatora, który jest znakiem odstępu wolnego, który wskazuje modyfikacje poprzedniej litery. Oznaczony oznaczeniem Unicode "Lm" (litera, modyfikator). Wartość to 3. |
| OtherLetter | 4 | Litera, która nie jest wielką literą, małą literą, literą tytułową lub literą modyfikatora. Oznaczony oznaczeniem Unicode "Lo" (litera, inne). Wartość to 4. |
| NonSpacingMark | 5 | Znak niebędący znakiem wskazującym modyfikacje znaku podstawowego. Oznaczone oznaczeniem Unicode "Mn" (znak, nonspacing). Wartość to 5. |
| SpacingCombiningMark | 6 | Znak odstępu wskazujący modyfikacje znaku podstawowego i wpływa na szerokość glif dla tego znaku podstawowego. Oznaczone oznaczeniem Unicode "Mc" (znak, odstępy łączące). Wartość to 6. |
| EnclosingMark | 7 | Otaczający znak, który jest znakiem nienależącym do znaku łączącego, który otacza wszystkie poprzednie znaki w górę i w tym znak podstawowy. Oznaczone oznaczeniem Unicode "Me" (znak, ujęcie). Wartość to 7. |
| DecimalDigitNumber | 8 | Znak cyfry dziesiętnej, czyli znak reprezentujący liczbę całkowitą w zakresie od 0 do 9. Oznaczona oznaczeniem Unicode "Nd" (liczba, cyfra dziesiętna). Wartość to 8. |
| LetterNumber | 9 | Liczba reprezentowana przez literę, a nie cyfrę dziesiętną, na przykład cyfrę rzymską dla pięciu, czyli "V". Wskaźnik jest oznaczony oznaczeniem Unicode "Nl" (cyfra, litera). Wartość to 9. |
| OtherNumber | 10 | Liczba, która nie jest cyfrą dziesiętną ani cyfrą litery, na przykład ułamkiem 1/2. Wskaźnik jest oznaczony oznaczeniem Unicode "Nie" (liczba, inne). Wartość to 10. |
| SpaceSeparator | 11 | Znak spacji, który nie ma glyph, ale nie jest znakiem kontrolki ani formatu. Oznaczona oznaczeniem Unicode "Zs" (separator, spacja). Wartość to 11. |
| LineSeparator | 12 | Znak używany do oddzielania wierszy tekstu. Oznaczona oznaczeniem Unicode "Zl" (separator, linia). Wartość to 12. |
| ParagraphSeparator | 13 | Znak używany do oddzielania akapitów. Oznaczona oznaczeniem Unicode "Zp" (separator, akapit). Wartość to 13. |
| Control | 14 | Znak kodu sterującego z wartością Unicode U+007F lub w zakresie U+0000 do U+001F lub U+0080 do U+009F. Oznaczona oznaczeniem Unicode "CC" (inne, kontrolka). Wartość to 14. |
| Format | 15 | Znak formatu, który ma wpływ na układ tekstu lub operacji procesów tekstowych, ale nie jest zwykle renderowany. Oznaczona oznaczeniem Unicode "Cf" (inne, format). Wartość to 15. |
| Surrogate | 16 | Wysoki surogat lub niski znak zastępczy. Wartości kodu zastępczego znajdują się w zakresie U+D800 do U+DFFF. Oznaczony oznaczeniem Unicode "Cs" (inne, zastępcze). Wartość to 16. |
| PrivateUse | 17 | Znak użycia prywatnego z wartością Unicode w zakresie U+E000 do U+F8FF. Oznaczona oznaczeniem Unicode "Co" (inne, prywatne użycie). Wartość to 17. |
| ConnectorPunctuation | 18 | Znak interpunkcyjny łącznika, który łączy dwa znaki. Oznaczona oznaczeniem Unicode "Pc" (interpunkcja, łącznik). Wartość to 18. |
| DashPunctuation | 19 | Znak kreski lub łącznika. Oznaczane oznaczeniem Unicode "Pd" (interpunkcja, kreska). Wartość to 19. |
| OpenPunctuation | 20 | Otwierający znak jednej z sparowanych znaków interpunkcyjnych, takich jak nawiasy nawiasy kwadratowe i nawiasy klamrowe. Oznaczona oznaczeniem Unicode "Ps" (interpunkcja, otwarta). Wartość to 20. |
| ClosePunctuation | 21 | Znak zamykający jednego z sparowanych znaków interpunkcyjnych, takich jak nawiasy, nawiasy kwadratowe i nawiasy klamrowe. Oznaczona oznaczeniem Unicode "Pe" (interpunkcja, zamknij). Wartość to 21. |
| InitialQuotePunctuation | 22 | Otwierający lub początkowy znak cudzysłowu. Oznaczona oznaczeniem Unicode "Pi" (interpunkcja, początkowy cudzysłów). Wartość to 22. |
| FinalQuotePunctuation | 23 | Znak zamykającego lub końcowego cudzysłowu. Oznaczona oznaczeniem Unicode "Pf" (interpunkcja, ostateczny cytat). Wartość to 23. |
| OtherPunctuation | 24 | Znak interpunkcyjny, który nie jest łącznikiem, kreską, otwartą interpunkcją, zamykającą interpunkcją, cudzysłowem początkowym lub ostatecznym cudzysłowem. Oznaczona oznaczeniem Unicode "Po" (interpunkcja, inne). Wartość to 24. |
| MathSymbol | 25 | Znak symbolu matematycznego, taki jak "+" lub "= ". Oznaczona oznaczeniem Unicode "Sm" (symbol, matematyka). Wartość to 25. |
| CurrencySymbol | 26 | Znak symbolu waluty. Oznaczona oznaczeniem Unicode "Sc" (symbol, waluta). Wartość to 26. |
| ModifierSymbol | 27 | Znak symbolu modyfikatora, który wskazuje modyfikacje otaczających znaków. Na przykład ukośnik ułamka wskazuje, że liczba po lewej stronie jest licznikiem, a liczba po prawej stronie jest mianownikiem. Wskaźnik jest oznaczony oznaczeniem Unicode "Sk" (symbol, modyfikator). Wartość to 27. |
| OtherSymbol | 28 | Znak symbolu, który nie jest symbolem matematycznym, symbolem waluty lub symbolem modyfikatora. Oznaczona oznaczeniem Unicode "So" (symbol, inne). Wartość to 28. |
| OtherNotAssigned | 29 | Znak, który nie jest przypisany do żadnej kategorii Unicode. Oznaczona oznaczeniem Unicode "Cn" (inne, nieprzypisane). Wartość to 29. |
Przykłady
W poniższym przykładzie są wyświetlane znaki i odpowiadające im punkty kodu dla znaków w kategorii UppercaseLetter. Możesz zmodyfikować przykład, aby wyświetlić litery w dowolnej innej kategorii, zastępując wartość UppercaseLetter kategorią zainteresowania przypisaniem do zmiennej category . Należy pamiętać, że dane wyjściowe dla niektórych kategorii mogą być obszerne.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
int ctr = 0;
UnicodeCategory category = UnicodeCategory.UppercaseLetter;
for (ushort codePoint = 0; codePoint < ushort.MaxValue; codePoint++) {
Char ch = (char)codePoint;
if (CharUnicodeInfo.GetUnicodeCategory(ch) == category) {
if (ctr % 5 == 0)
Console.WriteLine();
Console.Write("{0} (U+{1:X4}) ", ch, codePoint);
ctr++;
}
}
Console.WriteLine();
Console.WriteLine("\n{0} characters are in the {1:G} category",
ctr, category);
}
}
Imports System.Globalization
Module Example
Public Sub Main()
Dim ctr As Integer = 0
Dim category As UnicodeCategory = UnicodeCategory.UppercaseLetter
For codePoint As UShort = 0 To UShort.MaxValue - 1
Dim ch As Char = Convert.ToChar(codePoint)
If CharUnicodeInfo.GetUnicodeCategory(ch) = category Then
If ctr Mod 5 = 0 Then Console.WriteLine()
Console.Write("{0} (U+{1:X4}) ", ch, codePoint)
ctr += 1
End If
Next
Console.WriteLine()
Console.WriteLine()
Console.WriteLine("{0} characters are in the {1:G} category",
ctr, category)
End Sub
End Module
Uwagi
Element członkowski UnicodeCategory wyliczenia jest zwracany przez Char.GetUnicodeCategory metody i CharUnicodeInfo.GetUnicodeCategory . Wyliczenie UnicodeCategory jest również używane do obsługi Char metod, takich jak IsUpper(Char). Takie metody określają, czy określony znak jest członkiem określonej kategorii ogólnej Unicode. Kategoria ogólna Unicode definiuje szeroką klasyfikację znaku, czyli oznaczenie jako typ litery, cyfry dziesiętnej, separatora, symbolu matematycznego, interpunkcji itd.
Ta wyliczenie jest oparta na standardzie Unicode w wersji 5.0. Aby uzyskać więcej informacji, zobacz podtopy "Format pliku UCD" i "Ogólne wartości kategorii" w bazie danych znaków Unicode.
Standard Unicode definiuje następujące elementy:
Para zastępcza jest zakodowaną reprezentacją znaków dla pojedynczego abstrakcyjnego znaku, który składa się z sekwencji dwóch jednostek kodu, gdzie pierwsza jednostka pary jest wysokim zastępcą, a druga jest niskim zastępcą. Wysoki surogat jest punktem kodu Unicode w zakresie U+D800 przez U+DBFF, a niski zastępca jest punktem kodu Unicode w zakresie U+DC00 do U+DFFF.
Sekwencja znaków łącząca jest kombinacją znaku podstawowego i co najmniej jednego połączonego znaku. Para zastępcza reprezentuje znak podstawowy lub znak łączący. Znak łączący to odstępy lub odstępy. Odstęp łączący znak zajmuje samo odstępy podczas renderowania, podczas gdy znak nie jest połączony. Znaki diakrytyczne to przykład łączenia znaków bez ściągania znaków.
Litera modyfikatora jest znakiem odstępu wolnego, który, podobnie jak znak łączący, wskazuje modyfikacje poprzedniej litery.
Cudzysłów jest znakiem nienależącym do znaku łączącego, który otacza wszystkie poprzednie znaki w górę i w tym znak podstawowy.
Znak formatu to znak, który nie jest zwykle renderowany, ale ma wpływ na układ tekstu lub operację procesów tekstowych.
Standard Unicode definiuje kilka odmian do niektórych znaków interpunkcyjnych. Na przykład łącznik może być jedną z kilku wartości kodu reprezentujących łącznik, takich jak U+002D (łącznik minus) lub U+00AD (łącznik miękki) lub U+2010 (łącznik) lub U+2011 (łącznik niełamujący). To samo dotyczy łączników, znaków spacji i cudzysłowów.
Standard Unicode przypisuje również kody do reprezentacji cyfr dziesiętnych specyficznych dla danego skryptu lub języka, na przykład U+0030 (cyfra zero) i U+0660 (Arabic-Indic zero cyfry).