42

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

5 に答える 5

45

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

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

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

于 2010-09-18T17:07:08.377 に答える
38

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

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

于 2010-09-18T16:52:18.727 に答える
15

もちろん、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」はUnicodeCategory.LowercaseLetterの略です。

于 2010-09-18T17:06:17.277 に答える
2

ANTLRレクサーでは、便利な範囲形式のUnicode文字セット(LU、LL、LT、LM、およびLO)を見つけることができます。

于 2016-02-20T16:55:40.087 に答える
2

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

于 2017-09-11T15:12:57.677 に答える