CharUnicodeInfo Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Retrieves information about a Unicode character. This class cannot be inherited.
Inheritance Hierarchy
System.Object
System.Globalization.CharUnicodeInfo
Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public NotInheritable Class CharUnicodeInfo
public static class CharUnicodeInfo
Methods
Name | Description | |
---|---|---|
GetNumericValue(Char) | Gets the numeric value associated with the specified character. | |
GetNumericValue(String, Int32) | Gets the numeric value associated with the character at the specified index of the specified string. | |
GetUnicodeCategory(Char) | Gets the Unicode category of the specified character. | |
GetUnicodeCategory(String, Int32) | Gets the Unicode category of the character at the specified index of the specified string. |
Top
Remarks
The Unicode Standard defines several properties for Unicode characters, one of which is the character's category. For example, a character might be categorized as an uppercase letter, a lowercase letter, a decimal digit number, a letter number, a connector punctuation, a math symbol, or a currency symbol. Your application can use the character's category to govern string-based operations such as parsing.
The UnicodeCategory enumeration defines categories for Unicode characters. The CharUnicodeInfo class is used to obtain the UnicodeCategory value for a specific character. In addition, the class provides information about the numeric value of Unicode characters. A character's numeric value applies only to numeric characters, which include fractions, subscripts, superscripts, Roman numerals, currency numerators, encircled numbers, and script-specific digits.
For more information on Unicode characters, see the Unicode Standard.
Examples
The following code example shows the values returned by each method for different types of characters.
Imports System.Globalization
Public Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
outputBlock.Text &= " c Num UnicodeCategory" & vbCrLf
outputBlock.Text &= "U+0061 LATIN SMALL LETTER A "
PrintProperties(outputBlock, "a"c)
outputBlock.Text &= "U+0393 GREEK CAPITAL LETTER GAMMA "
PrintProperties(outputBlock, ChrW(&H393))
outputBlock.Text &= "U+0039 DIGIT NINE "
PrintProperties(outputBlock, "9"c)
outputBlock.Text &= "U+00B2 SUPERSCRIPT TWO "
PrintProperties(outputBlock, ChrW(&HB2))
outputBlock.Text &= "U+00BC VULGAR FRACTION ONE QUARTER "
PrintProperties(outputBlock, ChrW(&HBC))
outputBlock.Text &= "U+0BEF TAMIL DIGIT NINE "
PrintProperties(outputBlock, ChrW(&HBEF))
outputBlock.Text &= "U+0BF0 TAMIL NUMBER TEN "
PrintProperties(outputBlock, ChrW(&HBF0))
outputBlock.Text &= "U+0F33 TIBETAN DIGIT HALF ZERO "
PrintProperties(outputBlock, ChrW(&HF33))
outputBlock.Text &= "U+2788 CIRCLED SANS-SERIF DIGIT NINE "
PrintProperties(outputBlock, ChrW(&H2788))
End Sub
Public Shared Sub PrintProperties(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal c As Char)
outputBlock.Text += String.Format(" {0,-3}", c)
outputBlock.Text += String.Format(" {0,-5}", CharUnicodeInfo.GetNumericValue(c))
outputBlock.Text += String.Format("{0}", CharUnicodeInfo.GetUnicodeCategory(c)) & vbCrLf
End Sub
End Class
' This example produces the following output.
' U+0061 LATIN SMALL LETTER A a -1 LowercaseLetter
' U+0393 GREEK CAPITAL LETTER GAMMA G -1 UppercaseLetter
' U+0039 DIGIT NINE 9 9 DecimalDigitNumber
' U+00B2 SUPERSCRIPT TWO � 2 OtherNumber
' U+00BC VULGAR FRACTION ONE QUARTER � 0.25 OtherNumber
' U+0BEF TAMIL DIGIT NINE ? 9 DecimalDigitNumber
' U+0BF0 TAMIL NUMBER TEN ? 10 OtherNumber
' U+0F33 TIBETAN DIGIT HALF ZERO ? -0.5 OtherNumber
' U+2788 CIRCLED SANS-SERIF DIGIT NINE ? 9 OtherNumber
using System;
using System.Globalization;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
outputBlock.Text += " c Num Dig Dec UnicodeCategory" + "\n";
outputBlock.Text += "U+0061 LATIN SMALL LETTER A ";
PrintProperties(outputBlock, 'a');
outputBlock.Text += "U+0393 GREEK CAPITAL LETTER GAMMA ";
PrintProperties(outputBlock, '\u0393');
outputBlock.Text += "U+0039 DIGIT NINE ";
PrintProperties(outputBlock, '9');
outputBlock.Text += "U+00B2 SUPERSCRIPT TWO ";
PrintProperties(outputBlock, '\u00B2');
outputBlock.Text += "U+00BC VULGAR FRACTION ONE QUARTER ";
PrintProperties(outputBlock, '\u00BC');
outputBlock.Text += "U+0BEF TAMIL DIGIT NINE ";
PrintProperties(outputBlock, '\u0BEF');
outputBlock.Text += "U+0BF0 TAMIL NUMBER TEN ";
PrintProperties(outputBlock, '\u0BF0');
outputBlock.Text += "U+0F33 TIBETAN DIGIT HALF ZERO ";
PrintProperties(outputBlock, '\u0F33');
outputBlock.Text += "U+2788 CIRCLED SANS-SERIF DIGIT NINE ";
PrintProperties(outputBlock, '\u2788');
}
public static void PrintProperties(System.Windows.Controls.TextBlock outputBlock, char c)
{
outputBlock.Text += String.Format(" {0,-3}", c);
outputBlock.Text += String.Format(" {0,-5}", CharUnicodeInfo.GetNumericValue(c));
outputBlock.Text += String.Format("{0}", CharUnicodeInfo.GetUnicodeCategory(c)) + "\n";
}
}
/*
This example produces the following output.
U+0061 LATIN SMALL LETTER A a -1 LowercaseLetter
U+0393 GREEK CAPITAL LETTER GAMMA G -1 UppercaseLetter
U+0039 DIGIT NINE 9 9 DecimalDigitNumber
U+00B2 SUPERSCRIPT TWO ² 2 OtherNumber
U+00BC VULGAR FRACTION ONE QUARTER ¼ 0.25 OtherNumber
U+0BEF TAMIL DIGIT NINE ? 9 DecimalDigitNumber
U+0BF0 TAMIL NUMBER TEN ? 10 OtherNumber
U+0F33 TIBETAN DIGIT HALF ZERO ? -0.5 OtherNumber
U+2788 CIRCLED SANS-SERIF DIGIT NINE ? 9 OtherNumber
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.