今日は、.NET で、U+10000 以上のコードが割り当たってる文字の Unicode カテゴリー判定をする方法について。 提案を出したらそのままプルリクを出すことになった話。 背景 U+10000 以上の文字 Unicode について詳細は、昔書いた記事があるのでそちらを参照。 Unicodeとは? その歴史と進化、開発者向け基礎知識 Unicodeと、C#での文字列の扱い ここではさらっと。 U+10000 以上に割り当たってる文字は、要するに、以下のようなものです。 Unicode 設計当初に想定していなくて、後から「追加面」(supplementary planes)として定義した UTF-16 だと1文字で表せない なので、サロゲート ペア(surrogate pair: 代理対)っていう2文字1組のコードで表す UTF-8 だと4バイト文字になる 一部のマイナーな漢字、マイナ