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
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| UppercaseLetter | 0 | Прописная буква. Обозначается обозначением Юникода "Lu" (буква, прописная буква). Значение равно 0. |
| LowercaseLetter | 1 | Строчная буква. Обозначается обозначением Юникода "Ll" (буква, строчная буква). Значение равно 1. |
| TitlecaseLetter | 2 | Заголовок буквы. Обозначается обозначением Юникода "Lt" (буква, заголовок). Значение равно 2. |
| ModifierLetter | 3 | Символ буквы-модификатора, который является символом свободного интервала, который указывает на изменения предыдущей буквы. Обозначается обозначением Юникода "Lm" (буква, модификатор). Значение равно 3. |
| OtherLetter | 4 | Буква, которая не является прописной буквой, строчной буквой, буквой заголовка или модификатором. Обозначается обозначением Юникода "Lo" (буква, другое). Значение равно 4. |
| NonSpacingMark | 5 | Неспециационный символ, указывающий на изменения базового символа. Обозначается обозначением Юникода "Mn" (mark, nonspacing). Значение равно 5. |
| SpacingCombiningMark | 6 | Интервал, указывающий на изменения базового символа и влияет на ширину глифа для этого базового символа. Обозначается обозначением Юникода "Mc" (mark, spacing combining). Значение равно 6. |
| EnclosingMark | 7 | Заключив символ знака, который является неспакционным объединением символов, который окружает все предыдущие символы вплоть до и включая базовый символ. Обозначается обозначением Юникода "Me" (метка, заключающая). Значение равно 7. |
| DecimalDigitNumber | 8 | Символ десятичной цифры, то есть символ, представляющий целое число в диапазоне от 0 до 9. Обозначается обозначением Юникода "Nd" (число, десятичная цифра). Значение равно 8. |
| LetterNumber | 9 | Число, представленное буквой, а не десятичной цифрой, например, римским числом для пяти, то есть "V". Индикатор обозначается обозначением Юникода "Nl" (число, буква). Значение равно 9. |
| OtherNumber | 10 | Число, которое не является десятичной цифрой или цифрой буквы, например дробь 1/2. Индикатор обозначается обозначением Юникода "Нет" (число, другое). Значение равно 10. |
| SpaceSeparator | 11 | Пробел, который не имеет глифа, но не является символом элемента управления или форматирования. Обозначается обозначением Юникода "Zs" (разделитель, пробел). Значение равно 11. |
| LineSeparator | 12 | Символ, используемый для разделения строк текста. Обозначается обозначением Юникода "Zl" (разделитель, строка). Значение равно 12. |
| ParagraphSeparator | 13 | Символ, используемый для разделения абзацев. Обозначается обозначением Юникода "Zp" (разделитель, абзац). Значение равно 13. |
| Control | 14 | Контрольный символ кода с значением Юникода U+007F или в диапазоне U+0000 до U+000F или U+0080 до U+009F. Обозначается обозначением Юникода "Cc" (другое, элемент управления). Значение равно 14. |
| Format | 15 | Формат символа, который влияет на макет текста или операцию текстовых процессов, но обычно не отображается. Обозначено обозначением Юникода "Cf" (другое, формат). Значение равно 15. |
| Surrogate | 16 | Высокий суррогатный или низкий суррогатный символ. Суррогатные значения кода находятся в диапазоне U+D800 по U+DFFF. Обозначается обозначением Юникода "Cs" (другое, суррогатное). Значение равно 16. |
| PrivateUse | 17 | Символ частного использования с значением Юникода в диапазоне U+E000 до U+F8FF. Обозначено обозначением Юникода Co (другое, частное использование). Значение равно 17. |
| ConnectorPunctuation | 18 | Знак препинания соединителя, соединяющий два символа. Обозначено обозначением Юникода "Pc" (знак препинания, соединитель). Значение равно 18. |
| DashPunctuation | 19 | Дефис или дефис. Обозначено обозначением Юникода "Pd" (знак препинания, тире). Значение равно 19. |
| OpenPunctuation | 20 | Открывающий знак одного из парных знаков препинания, таких как скобки, квадратные скобки и скобки. Обозначено обозначением Юникода "Ps" (знак препинания, открыто). Значение равно 20. |
| ClosePunctuation | 21 | Закрывающий знак одного из парных знаков препинания, таких как скобки, квадратные скобки и скобки. Обозначено обозначением Юникода "Pe" (знак препинания, закрыть). Значение равно 21. |
| InitialQuotePunctuation | 22 | Открывающий или начальный символ кавычки. Обозначается обозначением Юникода "Pi" (препинание, начальная цитата). Значение равно 22. |
| FinalQuotePunctuation | 23 | Закрывающий или окончательный знак кавычки. Обозначено обозначением Юникода "Pf" (пунктуация, окончательная цитата). Значение равно 23. |
| OtherPunctuation | 24 | Знак препинания, который не является соединителем, тире, открыт знак препинания, закрывающий знак препинания, начальная цитата или окончательная цитата. Обозначено обозначением Юникода "Po" (знак препинания, другое). Значение равно 24. |
| MathSymbol | 25 | Математический символ, например "+" или "=". Обозначается обозначением Юникода "Sm" (символ, математика). Значение равно 25. |
| CurrencySymbol | 26 | Символ валюты. Обозначается обозначением Юникода "Sc" (символ, валюта). Значение равно 26. |
| ModifierSymbol | 27 | Символ модификатора, указывающий на изменения окружающих символов. Например, косая черта дроби указывает, что число слева является числовым элементом, а число справа — знаменателем. Индикатор обозначается обозначением Юникода "Sk" (символ, модификатор). Значение равно 27. |
| OtherSymbol | 28 | Символ, который не является математическим символом, символом валюты или модификатором. Обозначается обозначением Юникода "So" (символ, другой). Значение равно 28. |
| OtherNotAssigned | 29 | Символ, который не назначен какой-либо категории Юникода. Обозначается обозначением Юникода "Cn" (другое, не назначено). Значение равно 29. |
Примеры
В следующем примере отображаются символы и соответствующие кодовые точки для символов в категории 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 перечисления возвращается методом и CharUnicodeInfo.GetUnicodeCategory методомChar.GetUnicodeCategory. Перечисление UnicodeCategory также используется для поддержки Char методов, таких как IsUpper(Char). Такие методы определяют, является ли указанный символ членом определенной общей категории Юникода. Общая категория Юникода определяет широкую классификацию символа, то есть обозначение как тип буквы, десятичной цифры, разделителя, математический символ, знак препинания и т. д.
Это перечисление основано на Стандарте Юникода версии 5.0. Дополнительные сведения см. в подразделах "Формат файла UCD" и "Общие значения категорий" в базе данных символов Юникода.
Стандарт Юникода определяет следующее:
Суррогатная пара — это закодированное представление символа для одного абстрактного символа, состоящего из последовательности двух единиц кода, где первая единица пары является высокой суррогатной, а второй — низкой суррогатной. Высокий суррогат — это точка кода Юникода в диапазоне U+D800 по U+DBFF и низкая суррогатная точка кода Юникода в диапазоне U+DC00 до U+DFFF.
Объединение последовательности символов — это сочетание базового символа и одного или нескольких объединенных символов. Суррогатная пара представляет базовый символ или объединенный символ. Объединение символов является интервалом или неспакционным. Интервал, объединяющий символ, сам по себе занимает позицию интервала при отрисовке, в то время как не является объединение символов. Diacritics — это пример неспециационного объединения символов.
Буква-модификатор — это символ свободного интервала, который, как символ объединения, указывает на изменения предыдущей буквы.
Заключительный знак — это неспециационный символ, который окружает все предыдущие символы вплоть до базового символа.
Символ формата — это символ, который обычно не отображается, но влияет на макет текста или операцию процессов текста.
Стандарт Юникода определяет несколько вариантов некоторых знаков препинания. Например, дефис может быть одним из нескольких значений кода, представляющих дефис, например U+002D (дефис-минус) или U+00AD (мягкий дефис) или U+2010 (дефис) или U+2011 (неразрывный дефис). То же самое относится к дефисам, пробелам и кавычкам.
Стандарт Юникода также назначает коды представлениям десятичных цифр, относящихся к заданному скрипту или языку, например U+0030 (цифра ноль) и U+0660 (Arabic-Indic цифры ноль).