@port139 Blog

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

文字化けを引き起こすテスト

コンピュータのフォレンジック調査で使うツールは基本的に海外製品ばかりですので、日本語文字列の取り扱いが時々アレだったりします。最近は Unicode でなんとかなるようになりつつありますが、製品のQA部隊から「何をテストしておけばいいのか?」とか急に聞かれると困るので、過去の経験上で思いつくことを適当にメモ。主に電子メール関係を考えてますが、他にもテストしたほうがよいパターンはいろいろある気もします・・・

Subjectがとても長いケース

電子メールの題名(Subject)がとても長いケースだと、MIMEエンコードした場合に複数行に分かれることになります。このときツールが複数行に対応していない?と、電子メールの Subject が途中で切られて表示される現象にでくわすことがあります。
Openmya MLとかでは結構長い Subject が出てくることがあるので、テスト向きですかね(笑)

メール本文のエンコード方式

Windows のコードページでいくと、50221(半角カナを含むJIS)、65000(UTF-7)、65001(UTF-8) りをテストしておけば最近はOKなんでしょうかね。念のため 932 とか 51932 なケースもやっておくと安心かもしれません。
主には 50220 でOKな気がしていたのですが、Outlookだと設定で 50221 を選択できるのと、「UnicodeによるJIS X0213実装入門asin:4891006080」によると、ISO-2022-JPは 50221 という記述なので、50221 で半角カナ文字を含むケースをテストですかね。
でもって、Base64 と Quoted-Printable を試すと。

Outlook でテキスト形式の電子メール メッセージをエンコードする方法
http://support.microsoft.com/kb/278134/ja

個人的にはQuoted-Printable なケースでよく文字化けしているケースを見る気がします。
海外との多言語でのやり取りでは UTF-8 が多い気がしないでもないのですが、UTF-16 とか使うケースもあるんですかね。

だめ文字が含まれるケース

Shift_JISの2バイト目に区切り文字列と同一パターンが含まれているケース。
「能力」を Shift_JIS(CP 932)の 16進数パターンで表現すると「\x94\x5C\x97\xCD」となる、円マーク記号(\) \x5c が含まれる文字列が Subject や添付ファイル名に含まれるケースで、\x5c 部分で分割されてしまうといったケースがありますね。
参照:2バイト目が5C等に成りうることによる問題
電子メールというよりは添付されているZIPファイルの解析などで出くわすケースでしょうか。ZIPファイルに含まれる日本語ファイル名は Shift_JIS だったりするケースで、だめ文字が含まれているとマウント処理がおかしな結果になります。*1

*1:EnCaseでも以前あった問題ですねZIPファイルをマウントすると能がフォルダ扱いになってましたが今は直ってます

インデックス処理

文字化けとかとは違いますが、インデックスを作成するケースでは、全角と半角混じりのパターンがどう処理されるか確認しておいた方がよいかもしれません。
例えば「Forensics」のように前半は全角英数で後半部分が半角英数のようなパターンとか、全角英数と半角英数が混在しているようなケースがありますね。これを例えば半角英数の Forensics で検索できるかどうかって辺りでしょうか。まぁインデックス処理を行うエンジンの仕様によるのかもしれませんが・・・