web-dev-qa-db-ja.com

クラスごとのUnicode文字のリストはどこで入手できますか?

Unicodeの学習は初めてで、ASCIIの背景に基づいてどれだけ学習する必要があるかわかりませんが、読んでいます 識別子のルールに関するC#仕様 =内部で許可される文字を決定する Azureテーブル (これはC#仕様に直接基づいています)。

これらのカテゴリに分類されるUnicode文字のリストはどこにありますか。

  • letter-character:クラスLu、Ll、Lt、Lm、Lo、またはNlのUnicode文字
  • combining-character:クラスMnまたはMcのUnicode文字
  • decimal-digit-character:クラスNdのUnicode文字
  • connecting-character:クラスPcのUnicode文字
  • formatting-character:クラスCfのUnicode文字
37

この情報は、ここで公開されている公式のUnicodeデータファイルUnicodeData.txtから自動化された方法で取得できます。

これは、各行にセミコロンで区切られた値を持つファイルです。 3番目の列は、各文字の文字クラスを示しています。

これの利点は、各キャラクターのキャラクター名を取得できることです。そのため、キャラクター自体を見るだけでなく、それが何であるかをよりよく理解できます(たとえば、ბが何であるかを知っていますか?そうです、それは禁止です。グルジア語。:-)

39
Timwi

FileFormat.infoには、カテゴリ別のUnicode文字のリストがあります。

http://www.fileformat.info/info/unicode/category/index.htm

37
Phil Ross

もちろん、LINQを使用することもできます。

var charInfo = Enumerable.Range(0, 0x110000)
                         .Where(x => x < 0x00d800 || x > 0x00dfff)
                         .Select(char.ConvertFromUtf32)
                         .GroupBy(s => char.GetUnicodeCategory(s, 0))
                         .ToDictionary(g => g.Key);

foreach (var ch in charInfo[UnicodeCategory.LowercaseLetter])
{
    Console.Write(ch);
}

Unicodeカテゴリとその短縮名のリストは [〜#〜] msdn [〜#〜] にあります。たとえば、「Ll」は nicodeCategory.LowercaseLetter の略です。 。

12
dtb

ANTLR lexer には、便利な範囲形式のUnicode文字セット(LU、LL、LT、LM、およびLO)があります。

2
Ivan Kochurkin

https://www.compart.com/en/unicode/category は、カテゴリを閲覧するための非常に便利でナビゲートしやすいサイトです。検索可能で、個々のUnicode文字に関する非常に多くの情報が一覧表示されます。

2
b3000