@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

「ジ」を正規化

Unicode エディタの「BabelPad」を使って、「フォレンジック」の「ジ」を正規化してみたいと思います。
ジ U+30B8 のプロパティを BabelPad で確認すると Mapping が U+30B7 U+3099 となっていますので、NFD で正規化すると「シ」と結合可能な濁点 U+3099 に分解されます。

フォレンジック 30 D5 30 A9 30 EC 30 F3 30 B8 30 C3 30 AF
               ↓NFD
              30 D5 30 A9 30 EC 30 F3 30 B7 30 99 30 C3 30 AF

バイト列が、30 B8 から 30 B7 30 99 へと変化します。「フォレンシ U+3099 ック」という状態であれば、先ほどの正規表現「フォレンシ.ック」でヒットしそうです。
さらにいわゆる半角カナの「フォレンジック」を NFKD で互換分解してみます。

半角カナ
フォレンジック FF 8C FF 6B FF 9A FF 9D FF 7C FF 9E FF 6F FF 78
               ↓NFKD
              30 D5 30 A9 30 EC 30 F3 30 B7 30 99 30 C3 30 AF

NFKD により、半角から全角へと変換され、「フォレンシ U+3099 ック」という状態になりました、これなら正規表現「フォレンシ.ック」でヒットします。*1
Unicode 正規化を利用することで、「ジ」でも「シ U+3099」でも検索できるようになりそうですが、実際にこれをフォレンジック・ツールで実行するとなると厄介です。
現在のところ、EnCase 5.04a では Unicode 正規化形式を使った検索をサポートしていませんので、こういった検索を使うことができません。

*1:ただし、問題があって NFKD により半角カナであったことがわからなくなってしまいますが・・・