Поделиться через


UnicodeCategory Перечисление

Определение

Определяет категорию Юникода для символа.

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
Наследование
UnicodeCategory
Атрибуты

Поля

ClosePunctuation 21

Закрывающий символ для одного из парных знаков препинания, таких как круглые, квадратные и фигурные скобки. Принятое обозначение в Юникоде — "Pe" (punctuation, close). Значение равно 21.

ConnectorPunctuation 18

Знак препинания, являющийся соединителем двух символов. Принятое обозначение в Юникоде — "Pc" (punctuation, connector). Значение равно 18.

Control 14

Управляющий символ кода со значением в Юникоде, равным U+007F либо находящемся в диапазоне от U+0000 до U+001F или от U+0080 до U+009F. Принятое обозначение в Юникоде — "Cc" (other, control). Значение равно 14.

CurrencySymbol 26

Символ денежной единицы. Принятое обозначение в Юникоде — "Sc" (symbol, currency). Значение равно 26.

DashPunctuation 19

Знак тире или дефиса. Принятое обозначение в Юникоде — "Pd" (punctuation, dash). Значение равно 19.

DecimalDigitNumber 8

Десятичный символ цифры, то есть символ, представляющий целое число в диапазоне от 0 до 9. Принятое обозначение в Юникоде — "Nd" (number, decimal digit). Значение равно 8.

EnclosingMark 7

Вложенный символ — непробельный несамостоятельный знак, который окружает все предыдущие символы до базового символа включительно. Принятое обозначение в Юникоде — "Me" (mark, enclosing). Значение равно 7.

FinalQuotePunctuation 23

Закрывающий или заключительный знак кавычки. Принятое обозначение в Юникоде — "Pf" (punctuation, final quote). Значение равно 23.

Format 15

Символ форматирования, который влияет на расположение текста или на операции по обработке текста, но обычно не отображается. Принятое обозначение в Юникоде — "Cf" (other, format). Значение равно 15.

InitialQuotePunctuation 22

Открывающий или начальный знак кавычки. Принятое обозначение в Юникоде — "Pi" (punctuation, initial quote). Значение равно 22.

LetterNumber 9

Число, представленное буквой вместо десятичной цифры, например обозначение римской цифры пять — V. Принятое обозначение в Юникоде — "Nl" (number, letter). Значение равно 9.

LineSeparator 12

Символ, используемый для разделения строк текста. Принятое обозначение в Юникоде — "Zl" (separator, line). Значение равно 12.

LowercaseLetter 1

Строчная буква. Принятое обозначение в Юникоде — "Ll" (letter, lowercase). Значение равно 1.

MathSymbol 25

Математические символы, например "+" или "=". Принятое обозначение в Юникоде — "Sm" (symbol, math). Значение равно 25.

ModifierLetter 3

Символ буквы модификатора, представляющий собой отдельно стоящий знак ненулевой ширины, указывающий на изменение предшествующей буквы. Принятое обозначение в Юникоде — "Lm" (letter, modifier). Значение равно 3.

ModifierSymbol 27

Символ модификатора, который указывает на изменения окружающих его символов. Например, дробная черта указывает, что число слева является числителем, а число справа — знаменателем. Индикатор отмечается специальным знаком Юникода "Sk" (symbol, modifier). Значение равно 27.

NonSpacingMark 5

Непробельный символ, указывающий на изменения базового символа. Принятое обозначение в Юникоде — "Mn" (mark, nonspacing). Значение равно 5.

OpenPunctuation 20

Открывающий символ для одного из парных знаков препинания, таких как круглые, квадратные и фигурные скобки. Принятое обозначение в Юникоде — "Ps" (punctuation, open). Значение равно 20.

OtherLetter 4

Буква, не являющаяся прописной, строчной, буквой модификатора и не находящаяся в регистре заголовка. Принятое обозначение в Юникоде — "Lo" (letter, other). Значение равно 4.

OtherNotAssigned 29

Символ, не относящийся ни к одной из категорий Юникода. Принятое обозначение в Юникоде — "Cn" (other, not assigned). Значение равно 29.

OtherNumber 10

Число, не являющееся ни десятичной цифрой, ни буквенной цифрой, например дробь 1/2. Принятое в Юникоде обозначение индикатора — "No" (number, other). Значение равно 10.

OtherPunctuation 24

Знак препинания, который не является соединителем, тире, открывающим или закрывающим знаком препинания, начальной или заключительной кавычкой. Принятое обозначение в Юникоде — "Po" (punctuation, other). Значение равно 24.

OtherSymbol 28

Символ, который не является математическим символом, символом денежной единицы или символом модификатора. Принятое обозначение в Юникоде — "So" (symbol, other). Значение равно 28.

ParagraphSeparator 13

Символ, используемый для разделения абзацев. Принятое обозначение в Юникоде — "Zp" (separator, paragraph). Значение равно 13.

PrivateUse 17

Символ для личного использования, значение которого в Юникоде находится в диапазоне от U+E000 до U+F8FF. Принятое обозначение в Юникоде — "Co" (other, private use). Значение равно 17.

SpaceSeparator 11

Символ пробела, не имеющий глифа, но не являющийся управляющим символом или символом форматирования. Принятое обозначение в Юникоде — "Zs" (separator, space). Значение равно 11.

SpacingCombiningMark 6

Символ ненулевой ширины, который указывает на изменения базового символа и влияет на ширину его глифа. Принятое обозначение в Юникоде — "Mc" (mark, spacing combining). Значение равно 6.

Surrogate 16

Старший или младший символ-заместитель. Значения кодов символов-заместителей находятся в диапазоне от U+D800 до U+DFFF. Принятое обозначение в Юникоде — "Cs" (other, surrogate). Значение равно 16.

TitlecaseLetter 2

Буква регистра заголовка. Принятое обозначение в Юникоде — "Lt" (letter, titlecase). Значение равно 2.

UppercaseLetter 0

Прописная буква. Принятое обозначение в Юникоде — "Lu" (letter, uppercase). Значение равно 0.

Примеры

В следующем примере отображаются символы и соответствующие им кодовые точки для символов в категории UppercaseLetter. Вы можете изменить пример для отображения букв в любой другой категории, заменив UppercaseLetter интересующей вас категорией в назначении переменной category . Обратите внимание, что выходные данные для некоторых категорий могут быть обширными.

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

Комментарии

Элемент перечисления UnicodeCategory возвращается методами Char.GetUnicodeCategory и CharUnicodeInfo.GetUnicodeCategory . Перечисление UnicodeCategory также используется для поддержки Char методов, таких как IsUpper(Char). Такие методы определяют, является ли указанный символ членом определенной общей категории Юникода. Общая категория Юникода определяет широкую классификацию символа, т. е. обозначение как тип буквы, десятичная цифра, разделитель, математический символ, знак препинания и т. д.

Это перечисление основано на стандарте Юникод, версия 5.0. Дополнительные сведения см. в подразделах "Формат файлов UCD" и "Значения общих категорий" в разделе База данных символов Юникода.

Стандарт Юникода определяет следующее:

Суррогатная пара — это закодированное представление символа для одного абстрактного символа, состоящего из последовательности из двух единиц кода, где первая единица пары является высоким суррогатом, а вторая — низкой. Высокий суррогат — это кодовая точка Юникода в диапазоне от U+D800 до U+DBFF, а низкая суррогатная — кодовая точка Юникода в диапазоне от U+DC00 до U+DFFF.

Комбинированная последовательность символов представляет собой сочетание базового и одного или нескольких комбинируя символов. Суррогатная пара представляет базовый или объединяющий символ. Объединяющий символ — это либо интервал, либо нет. Символ интервала, объединяющий символ, сам по себе занимает позицию интервала при отображении, а неспециализируя объединяющий символ — нет. Диакритические знаки — это пример ненапомнения комбинирования символов.

Буква-модификатор — это знак свободного интервала, который, как и символ объединения, указывает на изменения предыдущей буквы.

Включающая метка — это несмежный объединяющий символ, который окружает все предыдущие символы вплоть до базового символа включительно.

Символ форматирования — это символ, который обычно не отображается, но влияет на макет текста или операции текстовых процессов.

Стандарт Юникода определяет несколько вариантов некоторых знаков препинания. Например, дефис может быть одним из нескольких кодовых значений, представляющих дефис, например U+002D (дефис-минус) или U+00AD (мягкий дефис) или U+2010 (дефис) или U+2011 (неразрывный дефис). То же самое относится к дефисам, пробелам и кавычкам.

Стандарт Юникода также назначает коды представлениям десятичных цифр, относящихся к определенному скрипту или языку, например U+0030 (ноль цифр) и U+0660 (арабско-индийский ноль).

Применяется к

См. также раздел