Pythonのunicodedata.normalize('NFKC', x)で正規化される文字一覧

Pythonのunicodedata.normalize('NFKC', x)で正規化されて変わる文字ってどんなのがあるんだろうと思って一覧を作ってみました。

https://gist.github.com/ikegami-yukino/8186853

左が変更前の文字、右が変更後の文字(アラビア文字は左右が逆になります)、括弧内の数値はUnicode IDを表します。

(自分がわかる範囲の)ほとんどの変換結果は納得できますが、一つだけ [65374] 〜 から [126] ~に変換されるのはどうかなあと思いました。たとえばインタ〜ネットがインタ~ネットになったり。normalizeする前に〜をーに変換する前処理を加えた方がよさそう。


あとこの変換結果の前後を逆にして、メートルを㍍にするような変換テーブルを作るとTwitterみたいな文字数制限のあるとき用の文章を作るときの文字数節約に使えるかも。