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
ClosePunctuation | 21 | Znak zamykający jednego z sparowanych znaków interpunkcyjnych, takich jak nawiasy nawiasy kwadratowe i nawiasy klamrowe. Oznaczane przez oznaczenie Unicode "Pe" (interpunkcja, zamknij). Wartość to 21. |
ConnectorPunctuation | 18 | Znak interpunkcyjny łącznika, który łączy dwa znaki. Oznaczane przez oznaczenie Unicode "Pc" (interpunkcja, łącznik). Wartość to 18. |
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. Oznaczane przez oznaczenie Unicode "CC" (inne, kontrolki). Wartość to 14. |
CurrencySymbol | 26 | Znak symbolu waluty. Oznaczane przez oznaczenie Unicode "Sc" (symbol, waluta). Wartość to 26. |
DashPunctuation | 19 | Znak kreski lub łącznika. Oznaczane przez oznaczenie Unicode "Pd" (interpunkcja, kreska). Wartość to 19. |
DecimalDigitNumber | 8 | Znak cyfry dziesiętnej, czyli znak w zakresie od 0 do 9. Oznaczane przez oznaczenie Unicode "Nd" (liczba, cyfra dziesiętna). Wartość to 8. |
EnclosingMark | 7 | Otaczający znak znacznika, który jest niezwiązanym znakiem łączącym, który otacza wszystkie poprzednie znaki do i w tym znak podstawowy. Oznaczone oznaczeniem Unicode "Me" (znak, ujęcie). Wartość to 7. |
FinalQuotePunctuation | 23 | Znak zamykającego lub końcowego cudzysłowu. Oznaczane przez oznaczenie Unicode "Pf" (interpunkcja, ostateczny cudzysłów). Wartość to 23. |
Format | 15 | Znak formatu, który wpływa na układ tekstu lub operacji procesów tekstowych, ale nie jest zwykle renderowany. Oznaczane przez oznaczenie Unicode "Cf" (inne, format). Wartość to 15. |
InitialQuotePunctuation | 22 | Otwierający lub początkowy znak cudzysłowu. Oznaczane przez oznaczenie Unicode "Pi" (interpunkcja, początkowy cudzysłów). Wartość to 22. |
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. |
LineSeparator | 12 | Znak używany do oddzielania wierszy tekstu. Oznaczona oznaczeniem Unicode "Zl" (separator, linia). Wartość to 12. |
LowercaseLetter | 1 | Mała litera. Oznaczane przez oznaczenie Unicode "Ll" (litera, małe litery). Wartość to 1. |
MathSymbol | 25 | Znak symbolu matematycznego, taki jak "+" lub "=". Oznaczane przez oznaczenie Unicode "Sm" (symbol, matematyka). Wartość to 25. |
ModifierLetter | 3 | Znak litery modyfikatora, który jest znakiem odstępu wolnego, który wskazuje modyfikacje poprzedniej litery. Oznaczane przez oznaczenie Unicode "Lm" (litera, modyfikator). Wartość to 3. |
ModifierSymbol | 27 | Znak symbolu modyfikatora, który wskazuje na 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. |
NonSpacingMark | 5 | Znak inny niż znak wskazujący modyfikacje znaku podstawowego. Oznaczane przez oznaczenie Unicode "Mn" (znak, nonspacing). Wartość to 5. |
OpenPunctuation | 20 | Znak otwierający jeden z sparowanych znaków interpunkcyjnych, takich jak nawiasy nawiasy kwadratowe i nawiasy klamrowe. Oznaczane przez oznaczenie Unicode "Ps" (interpunkcja, otwarte). Wartość to 20. |
OtherLetter | 4 | Litera, która nie jest wielką literą, małą literą, literą tytułową lub literą modyfikatora. Oznaczane przez oznaczenie Unicode "Lo" (litera, inne). Wartość to 4. |
OtherNotAssigned | 29 | Znak, który nie jest przypisany do żadnej kategorii Unicode. Oznaczane przez oznaczenie Unicode "Cn" (inne, nieprzypisane). Wartość to 29. |
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. |
OtherPunctuation | 24 | Znak interpunkcyjny, który nie jest łącznikiem, kreską, otwartą interpunkcją, znakiem interpunkcyjnym, cudzysłowem początkowym lub ostatnim cudzysłowem. Oznaczane przez oznaczenie Unicode "Po" (interpunkcja, inne). Wartość to 24. |
OtherSymbol | 28 | Znak symbolu, który nie jest symbolem matematycznym, symbolem waluty lub symbolem modyfikatora. Oznaczane przez oznaczenie Unicode "So" (symbol, inne). Wartość to 28. |
ParagraphSeparator | 13 | Znak używany do oddzielania akapitów. Oznaczane przez oznaczenie Unicode "Zp" (separator, akapit). Wartość to 13. |
PrivateUse | 17 | Znak użycia prywatnego z wartością Unicode w zakresie U+E000 do U+F8FF. Oznaczane przez oznaczenie Unicode "Co" (inne, prywatne użycie). Wartość to 17. |
SpaceSeparator | 11 | Znak spacji, który nie zawiera symbolu, ale nie jest znakiem kontrolki ani formatu. Oznaczane oznaczeniem Unicode "Zs" (separator, spacja). Wartość to 11. |
SpacingCombiningMark | 6 | Znak odstępu, który wskazuje 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. |
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. |
TitlecaseLetter | 2 | Litera tytułu. Oznaczony oznaczeniem Unicode "Lt" (litera, tytułowa). Wartość to 2. |
UppercaseLetter | 0 | Wielka litera. Oznaczony oznaczeniem Unicode "Lu" (litera, wielkie litery). Wartość to 0. |
Przykłady
Poniższy przykład przedstawia znaki i odpowiadające im punkty kodu dla znaków w kategorii Wielkie literyLetter. Możesz zmodyfikować przykład, aby wyświetlić litery w dowolnej innej kategorii, zastępując element UppercaseLetter kategorią zainteresowań w przypisaniu do zmiennej category
. Należy pamiętać, że dane wyjściowe 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 wyliczenia UnicodeCategory 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 drugi jest niskim zastępcą. Wysoki zastępca to punkt kodu Unicode w zakresie U+D800 do U+DBFF, a niski zastępca jest punktem kodu Unicode w zakresie U+DC00 do U+DFFF.
Łącząca sekwencja znaków to kombinacja znaku podstawowego i co najmniej jeden znak łączący. 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 położenie odstępu podczas renderowania, podczas gdy znak łączący nie działa. Znaki diakrytyczne to przykład łączenia znaków, które nie są wyprzedane.
Litera modyfikatora jest znakiem odstępu wolnego, który, podobnie jak znak łączący, wskazuje modyfikacje poprzedniej litery.
Znak ujęty jest znakiem nienależącym do znaku łączącego, który otacza wszystkie poprzednie znaki aż do znaku podstawowego 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 dla 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 niełamujący) lub U+2011 (łącznik niełamujący). To samo dotyczy kreski, 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 (cyfra zero).