UnicodeCategory Wyliczenie

Definicja

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
UnicodeCategory
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).

Dotyczy

Zobacz też