Partilhar via


UnicodeCategory Enumeração

Definição

Define a categoria Unicode de um caractere.

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
Herança
UnicodeCategory
Atributos

Campos

Nome Valor Description
UppercaseLetter 0

Letra maiúscula. Assinado pela designação unicode "Lu" (letra, maiúscula). O valor é 0.

LowercaseLetter 1

Letra minúscula. Assinado pela designação Unicode "Ll" (letra, letra minúscula). O valor é 1.

TitlecaseLetter 2

Letra de título. Signified by the Unicode designation "Lt" (letter, titlecase). O valor é 2.

ModifierLetter 3

Caractere de letra modificador, que é um caractere de espaçamento autônomo que indica modificações de uma letra anterior. Assinado pela designação unicode "Lm" (letra, modificador). O valor é 3.

OtherLetter 4

Letra que não é uma letra maiúscula, uma letra minúscula, uma letra de título ou uma letra modificadora. Assinado pela designação Unicode "Lo" (letra, outro). O valor é 4.

NonSpacingMark 5

Caractere sem espaçamento que indica modificações de um caractere base. Assinado pela designação Unicode "Mn" (marca, não espaçamento). O valor é 5.

SpacingCombiningMark 6

Caractere de espaçamento que indica modificações de um caractere base e afeta a largura do glifo para esse caractere base. Significada pela designação unicode "Mc" (marca, combinação de espaçamento). O valor é 6.

EnclosingMark 7

Colocando o caractere de marca, que é um caractere de combinação sem espaçamento que envolve todos os caracteres anteriores até e incluindo um caractere base. Significada pela designação Unicode "Eu" (marca, entre elas). O valor é 7.

DecimalDigitNumber 8

Caractere de dígito decimal, ou seja, um caractere que representa um inteiro no intervalo de 0 a 9. Assinado pela designação unicode "Nd" (número, dígito decimal). O valor é 8.

LetterNumber 9

Número representado por uma letra, em vez de um dígito decimal, por exemplo, o numeral romano para cinco, que é "V". O indicador é assinado pela designação Unicode "Nl" (número, letra). O valor é 9.

OtherNumber 10

Número que não é um dígito decimal nem um número de letra, por exemplo, a fração 1/2. O indicador é assinado pela designação Unicode "Não" (número, outro). O valor é 10.

SpaceSeparator 11

Caractere de espaço, que não tem glifo, mas não é um caractere de controle ou formato. Assinado pela designação unicode "Zs" (separador, espaço). O valor é 11.

LineSeparator 12

Caractere usado para separar linhas de texto. Assinado pela designação unicode "Zl" (separador, linha). O valor é 12.

ParagraphSeparator 13

Caractere usado para separar parágrafos. Assinado pela designação unicode "Zp" (separador, parágrafo). O valor é 13.

Control 14

Controlar o caractere de código, com um valor Unicode de U+007F ou no intervalo U+0000 até U+001F ou U+0080 até U+009F. Assinado pela designação unicode "Cc" (outro controle). O valor é 14.

Format 15

Formate o caractere que afeta o layout do texto ou a operação de processos de texto, mas normalmente não é renderizado. Assinado pela designação Unicode "Cf" (outro formato). O valor é 15.

Surrogate 16

Substituto alto ou baixo caractere substituto. Os valores de código alternativos estão no intervalo U+D800 até U+DFFF. Assinado pela designação unicode "Cs" (outro, substituto). O valor é 16.

PrivateUse 17

Caractere de uso privado, com um valor Unicode no intervalo U+E000 até U+F8FF. Signified by the Unicode designation "Co" (other, private use). O valor é 17.

ConnectorPunctuation 18

Caractere de pontuação do conector que conecta dois caracteres. Assinado pela designação unicode "Pc" (pontuação, conector). O valor é 18.

DashPunctuation 19

Caractere traço ou hífen. Significada pela designação unicode "Pd" (pontuação, traço). O valor é 19.

OpenPunctuation 20

Caractere de abertura de uma das marcas de pontuação emparelhadas, como parênteses, colchetes e chaves. Assinado pela designação unicode "Ps" (pontuação, aberto). O valor é 20.

ClosePunctuation 21

Caractere de fechamento de uma das marcas de pontuação emparelhadas, como parênteses, colchetes e chaves. Significada pela designação Unicode "Pe" (pontuação, fechamento). O valor é 21.

InitialQuotePunctuation 22

Caractere de aspas inicial ou de abertura. Significada pela designação unicode "Pi" (pontuação, aspa inicial). O valor é 22.

FinalQuotePunctuation 23

Caractere de aspas final ou de fechamento. Assinado pela designação unicode "Pf" (pontuação, aspa final). O valor é 23.

OtherPunctuation 24

Caractere de pontuação que não é um conector, um traço, pontuação aberta, pontuação de fechamento, uma aspa inicial ou uma aspa final. Assinado pela designação unicode "Po" (pontuação, outro). O valor é 24.

MathSymbol 25

Caractere de símbolo matemático, como "+" ou "= ". Assinado pela designação unicode "Sm" (símbolo, matemática). O valor é 25.

CurrencySymbol 26

Caractere de símbolo de moeda. Assinado pela designação Unicode "Sc" (símbolo, moeda). O valor é 26.

ModifierSymbol 27

Caractere de símbolo modificador, que indica modificações de caracteres ao redor. Por exemplo, a barra de fração indica que o número à esquerda é o numerador e o número à direita é o denominador. O indicador é assinado pela designação unicode "Sk" (símbolo, modificador). O valor é 27.

OtherSymbol 28

Caractere de símbolo que não é um símbolo matemático, um símbolo de moeda ou um símbolo modificador. Assinado pela designação Unicode "So" (símbolo, outro). O valor é 28.

OtherNotAssigned 29

Caractere que não é atribuído a nenhuma categoria Unicode. Assinado pela designação Unicode "Cn" (outro, não atribuído). O valor é 29.

Exemplos

O exemplo a seguir exibe os caracteres e seus pontos de código correspondentes para caracteres na categoria UppercaseLetter. Você pode modificar o exemplo para exibir as letras em qualquer outra categoria substituindo UppercaseLetter pela categoria de interesse para você na atribuição à category variável. Observe que a saída para algumas categorias pode ser extensa.

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

Comentários

Um membro da UnicodeCategory enumeração é retornado pelos métodos eCharUnicodeInfo.GetUnicodeCategory.Char.GetUnicodeCategory A UnicodeCategory enumeração também é usada para dar suporte Char a métodos, como IsUpper(Char). Esses métodos determinam se um caractere especificado é um membro de uma categoria geral Unicode específica. Uma categoria geral Unicode define a classificação ampla de um caractere, ou seja, designação como um tipo de letra, dígito decimal, separador, símbolo matemático, pontuação e assim por diante.

Essa enumeração é baseada no Padrão Unicode, versão 5.0. Para obter mais informações, consulte os subtópicos "Formato de Arquivo UCD" e "Valores gerais de categoria" no banco de dados de caracteres Unicode.

O Padrão Unicode define o seguinte:

Um par substituto é uma representação de caractere codificado para um único caractere abstrato que consiste em uma sequência de duas unidades de código, em que a primeira unidade do par é um substituto alto e o segundo é um substituto baixo. Um substituto alto é um ponto de código Unicode no intervalo U+D800 até U+DBFF e um substituto baixo é um ponto de código Unicode no intervalo U+DC00 até U+DFFF.

Uma sequência de caracteres combinada é uma combinação de um caractere base e um ou mais caracteres de combinação. Um par substituto representa um caractere base ou um caractere de combinação. Um caractere de combinação é espaçamento ou não espaçamento. Um caractere de combinação de espaçamento ocupa uma posição de espaçamento por si só quando renderizado, enquanto um caractere de combinação sem espaçamento não. Os diacríticos são um exemplo de não espaçamento combinando caracteres.

Uma letra modificadora é um caractere de espaçamento de posição livre que, como um caractere de combinação, indica modificações de uma letra anterior.

Uma marca de fechamento é um caractere de combinação sem espaçamento que envolve todos os caracteres anteriores até e incluindo um caractere base.

Um caractere de formato é um caractere que normalmente não é renderizado, mas que afeta o layout do texto ou a operação de processos de texto.

O Padrão Unicode define várias variações para algumas marcas de pontuação. Por exemplo, um hífen pode ser um dos vários valores de código que representam um hífen, como U+002D (hifen-menos) ou U+00AD (hifen macio) ou U+2010 (hífen) ou U+2011 (hifen sem quebra). O mesmo vale para traços, caracteres de espaço e aspas.

O Padrão Unicode também atribui códigos a representações de dígitos decimais específicos a um determinado script ou idioma, por exemplo, U+0030 (dígito zero) e U+0660 (Arabic-Indic dígito zero).

Aplica-se a

Confira também