CharUnicodeInfo Kelas

Definisi

Mengambil informasi tentang karakter Unicode. Kelas ini tidak dapat diwariskan.

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
Warisan
CharUnicodeInfo

Contoh

Contoh kode berikut menunjukkan nilai yang dikembalikan oleh setiap metode untuk berbagai jenis karakter.

using namespace System;
using namespace System::Globalization;
void PrintProperties( Char c );
int main()
{
   Console::WriteLine( "                                        c  Num   Dig   Dec   UnicodeCategory" );
   Console::Write( "U+0061 LATIN SMALL LETTER A            " );
   PrintProperties( L'a' );
   Console::Write( "U+0393 GREEK CAPITAL LETTER GAMMA      " );
   PrintProperties( L'\u0393' );
   Console::Write( "U+0039 DIGIT NINE                      " );
   PrintProperties( L'9' );
   Console::Write( "U+00B2 SUPERSCRIPT TWO                 " );
   PrintProperties( L'\u00B2' );
   Console::Write( "U+00BC VULGAR FRACTION ONE QUARTER     " );
   PrintProperties( L'\u00BC' );
   Console::Write( "U+0BEF TAMIL DIGIT NINE                " );
   PrintProperties( L'\u0BEF' );
   Console::Write( "U+0BF0 TAMIL NUMBER TEN                " );
   PrintProperties( L'\u0BF0' );
   Console::Write( "U+0F33 TIBETAN DIGIT HALF ZERO         " );
   PrintProperties( L'\u0F33' );
   Console::Write( "U+2788 CIRCLED SANS-SERIF DIGIT NINE   " );
   PrintProperties( L'\u2788' );
}

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

*/
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

Keterangan

Unicode Standard mendefinisikan sejumlah kategori karakter Unicode. Misalnya, karakter dapat dikategorikan sebagai huruf besar, huruf kecil, angka digit desimal, angka huruf, pemisah paragraf, simbol matematika, atau simbol mata uang. Aplikasi Anda dapat menggunakan kategori karakter untuk mengatur operasi berbasis string, seperti mengurai atau mengekstrak substring dengan ekspresi reguler. Enumerasi UnicodeCategory mendefinisikan kemungkinan kategori karakter.

CharUnicodeInfo Gunakan kelas untuk mendapatkan UnicodeCategory nilai untuk karakter tertentu. Kelas CharUnicodeInfo menentukan metode yang mengembalikan nilai karakter Unicode berikut:

  • Kategori tertentu tempat karakter atau pasangan pengganti berada. Nilai yang dikembalikan adalah anggota UnicodeCategory enumerasi.

  • Nilai numerik. Hanya berlaku untuk karakter numerik, termasuk pecahan, subskrip, superskrip, angka Romawi, pembilang mata uang, angka yang dilingkari, dan digit khusus skrip.

  • Nilai digit. Berlaku untuk karakter numerik yang dapat dikombinasikan dengan karakter numerik lainnya untuk mewakili bilangan bujur dalam sistem penomoran.

  • Nilai digit desimal. Hanya berlaku untuk karakter yang mewakili digit desimal dalam sistem desimal (dasar 10). Digit desimal dapat berupa salah satu dari sepuluh digit, dari nol hingga sembilan. Karakter ini adalah anggota UnicodeCategory.DecimalDigitNumber kategori.

Selain itu, CharUnicodeInfo kelas ini digunakan secara internal oleh sejumlah jenis dan metode .NET lainnya yang mengandalkan klasifikasi karakter. Ini termasuk:

  • Kelas StringInfo , yang bekerja dengan elemen tekstual alih-alih karakter tunggal dalam string.

  • Kelebihan beban Char.GetUnicodeCategory metode, yang menentukan kategori tempat karakter atau pasangan pengganti berada.

  • Kelas karakter yang dikenali oleh Regex, . Mesin ekspresi reguler NET.

Saat menggunakan kelas ini di aplikasi Anda, ingatlah pertimbangan pemrograman berikut untuk menggunakan jenis tersebut Char . Jenisnya bisa sulit digunakan, dan string umumnya lebih disukai untuk mewakili konten linguistik.

  • Objek Char tidak selalu sesuai dengan satu karakter. Meskipun jenis mewakili Char nilai 16-bit tunggal, beberapa karakter (seperti kluster grafik dan pasangan pengganti) terdiri dari dua unit kode UTF-16 atau lebih. Untuk informasi selengkapnya, lihat "Objek Karakter dan Karakter Unicode" di String kelas .

  • Gagasan "karakter" juga fleksibel. Karakter sering dianggap sebagai glyph, tetapi banyak glyph memerlukan beberapa titik kode. Misalnya, ä dapat diwakili baik oleh dua titik kode ("a" plus U+0308, yang merupakan diaeresis gabungan), atau dengan satu titik kode ("ä" atau U+00A4). Beberapa bahasa memiliki banyak huruf, karakter, dan glyph yang memerlukan beberapa titik kode, yang dapat menyebabkan kebingungan dalam representasi konten linguistik. Misalnya, ada ΰ (U+03B0, upsilon huruf kecil Yunani dengan dialytika dan tonos), tetapi tidak ada huruf kapital yang setara. Uppercasing nilai seperti itu hanya mengambil nilai asli.

Catatan Bagi Pemanggil

Karakter yang dikenali dan kategori spesifik tempat karakter tersebut didefinisikan oleh standar Unicode dan dapat berubah dari satu versi Standar Unicode ke versi lainnya. Kategorisasi karakter dalam versi .NET Framework tertentu didasarkan pada satu versi Unicode Standard, terlepas dari sistem operasi yang mendasar tempat .NET Framework berjalan. Tabel berikut mencantumkan versi .NET Framework sejak .NET Framework 4 dan versi Unicode Standard yang digunakan untuk mengklasifikasikan karakter.

Versi Framework .NET Versi Unicode Standard
.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

Setiap versi standar Unicode menyertakan informasi tentang perubahan pada database karakter Unicode sejak versi sebelumnya. Database karakter Unicode digunakan oleh CharUnicodeInfo kelas untuk mengategorikan karakter.

Metode

GetDecimalDigitValue(Char)

Mendapatkan nilai digit desimal dari karakter numerik yang ditentukan.

GetDecimalDigitValue(String, Int32)

Mendapatkan nilai digit desimal dari karakter numerik pada indeks string yang ditentukan.

GetDigitValue(Char)

Mendapatkan nilai digit dari karakter numerik yang ditentukan.

GetDigitValue(String, Int32)

Mendapatkan nilai digit karakter numerik pada indeks yang ditentukan dari string yang ditentukan.

GetNumericValue(Char)

Mendapatkan nilai numerik yang terkait dengan karakter yang ditentukan.

GetNumericValue(String, Int32)

Mendapatkan nilai numerik yang terkait dengan karakter pada indeks string yang ditentukan.

GetUnicodeCategory(Char)

Mendapatkan kategori Unicode dari karakter yang ditentukan.

GetUnicodeCategory(Int32)

Mendapatkan kategori Unicode dari karakter yang ditentukan.

GetUnicodeCategory(String, Int32)

Mendapatkan kategori Unicode karakter pada indeks yang ditentukan dari string yang ditentukan.

Berlaku untuk

Lihat juga