CharUnicodeInfo Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u informatie over een Unicode-teken op. Deze klasse kan niet worden overgenomen.
public ref class CharUnicodeInfo abstract sealed
public ref class CharUnicodeInfo sealed
public static class CharUnicodeInfo
public sealed class CharUnicodeInfo
type CharUnicodeInfo = class
Public Class CharUnicodeInfo
Public NotInheritable Class CharUnicodeInfo
- Overname
-
CharUnicodeInfo
Voorbeelden
In het volgende codevoorbeeld ziet u de waarden die door elke methode worden geretourneerd voor verschillende typen tekens.
using System;
using System.Globalization;
public class SamplesCharUnicodeInfo {
public static void Main() {
Console.WriteLine( " c Num Dig Dec UnicodeCategory" );
Console.Write( "U+0061 LATIN SMALL LETTER A " );
PrintProperties( 'a' );
Console.Write( "U+0393 GREEK CAPITAL LETTER GAMMA " );
PrintProperties( '\u0393' );
Console.Write( "U+0039 DIGIT NINE " );
PrintProperties( '9' );
Console.Write( "U+00B2 SUPERSCRIPT TWO " );
PrintProperties( '\u00B2' );
Console.Write( "U+00BC VULGAR FRACTION ONE QUARTER " );
PrintProperties( '\u00BC' );
Console.Write( "U+0BEF TAMIL DIGIT NINE " );
PrintProperties( '\u0BEF' );
Console.Write( "U+0BF0 TAMIL NUMBER TEN " );
PrintProperties( '\u0BF0' );
Console.Write( "U+0F33 TIBETAN DIGIT HALF ZERO " );
PrintProperties( '\u0F33' );
Console.Write( "U+2788 CIRCLED SANS-SERIF DIGIT NINE " );
PrintProperties( '\u2788' );
}
public static void PrintProperties( char c ) {
Console.Write( " {0,-3}", c );
Console.Write( " {0,-5}", CharUnicodeInfo.GetNumericValue( c ) );
Console.Write( " {0,-5}", CharUnicodeInfo.GetDigitValue( c ) );
Console.Write( " {0,-5}", CharUnicodeInfo.GetDecimalDigitValue( c ) );
Console.WriteLine( "{0}", CharUnicodeInfo.GetUnicodeCategory( c ) );
}
}
/*
This code produces the following output. Some characters might not display at the console.
c Num Dig Dec UnicodeCategory
U+0061 LATIN SMALL LETTER A a -1 -1 -1 LowercaseLetter
U+0393 GREEK CAPITAL LETTER GAMMA Γ -1 -1 -1 UppercaseLetter
U+0039 DIGIT NINE 9 9 9 9 DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO ² 2 2 -1 OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER ¼ 0.25 -1 -1 OtherNumber
U+0BEF TAMIL DIGIT NINE ௯ 9 9 9 DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN ௰ 10 -1 -1 OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO ༳ -0.5 -1 -1 OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE ➈ 9 9 -1 OtherNumber
*/
Imports System.Globalization
Public Class SamplesCharUnicodeInfo
Public Shared Sub Main()
Console.WriteLine(" c Num Dig Dec UnicodeCategory")
Console.Write("U+0061 LATIN SMALL LETTER A ")
PrintProperties("a"c)
Console.Write("U+0393 GREEK CAPITAL LETTER GAMMA ")
PrintProperties(ChrW(&H0393))
Console.Write("U+0039 DIGIT NINE ")
PrintProperties("9"c)
Console.Write("U+00B2 SUPERSCRIPT TWO ")
PrintProperties(ChrW(&H00B2))
Console.Write("U+00BC VULGAR FRACTION ONE QUARTER ")
PrintProperties(ChrW(&H00BC))
Console.Write("U+0BEF TAMIL DIGIT NINE ")
PrintProperties(ChrW(&H0BEF))
Console.Write("U+0BF0 TAMIL NUMBER TEN ")
PrintProperties(ChrW(&H0BF0))
Console.Write("U+0F33 TIBETAN DIGIT HALF ZERO ")
PrintProperties(ChrW(&H0F33))
Console.Write("U+2788 CIRCLED SANS-SERIF DIGIT NINE ")
PrintProperties(ChrW(&H2788))
End Sub
Public Shared Sub PrintProperties(c As Char)
Console.Write(" {0,-3}", c)
Console.Write(" {0,-5}", CharUnicodeInfo.GetNumericValue(c))
Console.Write(" {0,-5}", CharUnicodeInfo.GetDigitValue(c))
Console.Write(" {0,-5}", CharUnicodeInfo.GetDecimalDigitValue(c))
Console.WriteLine("{0}", CharUnicodeInfo.GetUnicodeCategory(c))
End Sub
End Class
'This code produces the following output. Some characters might not display at the console.
'
' c Num Dig Dec UnicodeCategory
'U+0061 LATIN SMALL LETTER A a -1 -1 -1 LowercaseLetter
'U+0393 GREEK CAPITAL LETTER GAMMA Γ -1 -1 -1 UppercaseLetter
'U+0039 DIGIT NINE 9 9 9 9 DecimalDigitNumber
'U+00B2 SUPERSCRIPT TWO ² 2 2 -1 OtherNumber
'U+00BC VULGAR FRACTION ONE QUARTER ¼ 0.25 -1 -1 OtherNumber
'U+0BEF TAMIL DIGIT NINE ௯ 9 9 9 DecimalDigitNumber
'U+0BF0 TAMIL NUMBER TEN ௰ 10 -1 -1 OtherNumber
'U+0F33 TIBETAN DIGIT HALF ZERO ༳ -0.5 -1 -1 OtherNumber
'U+2788 CIRCLED SANS-SERIF DIGIT NINE ➈ 9 9 -1 OtherNumber
Opmerkingen
De Unicode-standaard definieert een aantal Unicode-tekencategorieën. Een teken kan bijvoorbeeld worden gecategoriseerd als een hoofdletter, een kleine letter, een decimaal cijfer, een letternummer, een alineascheidingsteken, een rekenkundig symbool of een valutasymbool. Uw toepassing kan de tekencategorie gebruiken om bewerkingen op basis van tekenreeksen te beheren, zoals parseren of extraheren van subtekenreeksen met reguliere expressies. De UnicodeCategory opsomming definieert de mogelijke tekencategorieën.
Gebruik de CharUnicodeInfo klasse om de UnicodeCategory waarde voor een specifiek teken te verkrijgen. De CharUnicodeInfo klasse definieert methoden die de volgende Unicode-tekenwaarden retourneren:
De specifieke categorie waartoe een teken of surrogaatpaar behoort. De geretourneerde waarde is lid van de UnicodeCategory opsomming.
Numerieke waarde. Alleen van toepassing op numerieke tekens, waaronder breuken, subscripts, superscripts, Romeinse cijfers, valutatellers, omcirkelde getallen en scriptspecifieke cijfers.
Cijferwaarde. Is van toepassing op numerieke tekens die kunnen worden gecombineerd met andere numerieke tekens om een geheel getal in een nummeringssysteem weer te geven.
Decimaaltekenwaarde. Alleen van toepassing op tekens die decimale cijfers in het decimaalsysteem (grondtal 10) vertegenwoordigen. Een decimaal cijfer kan een van tien cijfers zijn, van nul tot en met negen. Deze tekens zijn lid van de UnicodeCategory.DecimalDigitNumber categorie.
Bovendien wordt de klasse CharUnicodeInfo intern gebruikt door een aantal andere .NET typen en methoden die afhankelijk zijn van tekenclassificatie. Deze omvatten:
De StringInfo klasse, die werkt met tekstelementen in plaats van één tekenreeks.
De overbelasting van de Char.GetUnicodeCategory methode, die de categorie bepaalt waartoe een teken of surrogaatpaar behoort.
De klassen character herkend door Regex, de reguliere expressie-engine van .NET.
Houd bij het gebruik van deze klasse in uw toepassingen rekening met de volgende programmeeroverwegingen voor het gebruik van het Char type. Het type kan moeilijk te gebruiken zijn en tekenreeksen hebben over het algemeen de voorkeur voor het weergeven van taalkundige inhoud.
Een Char object komt niet altijd overeen met één teken. Hoewel het Char type één 16-bits waarde vertegenwoordigt, bestaan sommige tekens (zoals grafeme-clusters en surrogaatparen) uit twee of meer UTF-16-code-eenheden. Zie 'Tekenobjecten en Unicode-tekens' in de String klasse voor meer informatie.
Het begrip "karakter" is ook flexibel. Een teken wordt vaak beschouwd als een symbool, maar veel glyphs vereisen meerdere codepunten. ä kan bijvoorbeeld worden vertegenwoordigd door twee codepunten ('a' plus U+0308, de combinatie van diaeresis), of door één codepunt ('ä' of U+00A4). Sommige talen hebben veel letters, tekens en glyphs waarvoor meerdere codepunten nodig zijn, wat verwarring kan veroorzaken in de taalkundige inhoudsweergave. Er is bijvoorbeeld een ΰ (U+03B0, Griekse kleine letter upsilon met dialytika en tonos), maar er is geen equivalente hoofdletter. Als u een dergelijke waarde opgeeft, haalt u gewoon de oorspronkelijke waarde op.
Notities voor bellers
Herkende tekens en de specifieke categorieën waartoe ze behoren, worden gedefinieerd door de Unicode-standaard en kunnen worden gewijzigd van de ene versie van de Unicode-standaard in een andere. Categorisatie van tekens in een bepaalde versie van .NET Framework is gebaseerd op één versie van de Unicode-standaard, ongeacht het onderliggende besturingssysteem waarop .NET Framework wordt uitgevoerd. De volgende tabel bevat versies van .NET Framework sinds .NET Framework 4 en de versies van de Unicode Standard die worden gebruikt om tekens te classificeren.
| Versie van .NET Framework | Unicode Standard-versie |
|---|---|
| .NET Framework 4 | 5.0.0 |
| .NET Framework 4.5 | 5.0.0 |
| .NET Framework 4.5.1 | 5.0.0 |
| .NET Framework 4.5.2 | 5.0.0 |
| .NET Framework 4.6 | 6.3.0 |
| .NET Framework 4.6.1 | 6.3.0 |
| .NET Framework 4.6.2 | 8.0.0 |
Elke versie van de Unicode-standaard bevat informatie over wijzigingen in de Unicode-tekendatabase sinds de vorige versie. De Unicode-tekendatabase wordt door de klasse gebruikt voor het CharUnicodeInfo categoriseren van tekens.
Methoden
| Name | Description |
|---|---|
| GetDecimalDigitValue(Char) |
Hiermee haalt u de decimale cijferwaarde van het opgegeven numerieke teken op. |
| GetDecimalDigitValue(String, Int32) |
Hiermee haalt u de decimale cijferwaarde van het numerieke teken op bij de opgegeven index van de opgegeven tekenreeks. |
| GetDigitValue(Char) |
Hiermee haalt u de cijferwaarde van het opgegeven numerieke teken op. |
| GetDigitValue(String, Int32) |
Hiermee haalt u de cijferwaarde van het numerieke teken op in de opgegeven index van de opgegeven tekenreeks. |
| GetNumericValue(Char) |
Hiermee haalt u de numerieke waarde op die is gekoppeld aan het opgegeven teken. |
| GetNumericValue(String, Int32) |
Hiermee haalt u de numerieke waarde op die is gekoppeld aan het teken in de opgegeven index van de opgegeven tekenreeks. |
| GetUnicodeCategory(Char) |
Hiermee haalt u de Unicode-categorie van het opgegeven teken op. |
| GetUnicodeCategory(Int32) |
Hiermee haalt u de Unicode-categorie van het opgegeven teken op. |
| GetUnicodeCategory(String, Int32) |
Hiermee haalt u de Unicode-categorie van het teken op in de opgegeven index van de opgegeven tekenreeks. |