@port139 Blog

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

2015年でも文字コードの書籍を読むべきか?

デジタル・フォレンジック関連では、海外で作られた製品やツールを利用する事が多く、これまでいわゆる「文字化け」にはかなり苦労させられてきました。*1

とはいえ、2005年頃と比較すれば、解析対象データの多くが UTF-16 や UTF-8 になってきている事もあり、以前と比較すればかなり文字化けは解消されている部分もあるのではないかと考えています。

この為、これから取り組む若手が優先的に文字コードを覚える必要があるか?というと個人的には少し疑問があります。もちろん、知らないよりは知っている方がよいですし、何より文字化けが無くなったわけではないので、正しい手順や適切な対応を取る上で文字化けの原因を的確に判断できる方がよいですよね。

まずはUnicodeの基本的な部分が理解できていれば良いのかもしれません。最近は例えば Shift_JIS でデータ格納しているのを、UTF-8だと思って処理して落ちるとか化けるとかのパターンが多いようですから、そのあたりだけまずは理解できれいれば慌てなくても対処できる気もします。

Unicode関連の書籍も色々とありますが、今だと何を読むのがいいんでしょうねぇ、多分 Google で検索すれば色々と情報があると思いますから、強いて書籍でなくてもよいかもしれません。

Unicode については、個人的には下記を読みましたがいきなりこれではない方がよいかもしれません。図書館にあればちょっと見てみるのは良いと思うのですが、2001年の本なので、今からだと違いを意識しないといけない部分があるかもしれませんね。(最近は、絵文字もありますし)

Unicode標準入門

Unicode標準入門

 

個人的にはMLなどを通じて文字コードについて教えていただき覚えた部分が大きかったのですが、参考書籍としては文字コード関連はほとんど購入しました。

文字コードといえば CJKV !!という雰囲気がありましたが、いきなりこれ読むのは初心者には難しいのではないかと思います。外人さんに文字コード関連の書籍で何かないか?と聞かれたらこれをお薦めしていました。

図書館にあればちょっと眺めてみるといいかもしれません。 

CJKV日中韓越情報処理

CJKV日中韓越情報処理

 

 個人的に一番分かりやすかったのは、文字コード「超」研究です。現在は改定されているようで手元で持っていた版とは異なりますが、著者の書きっぷりが面白い部分もあって読みやすかったです。なんか文字コード関連の書籍は分厚いの多い気がしていますけど、避けられない運命なんでしょうか。 強いて何か読むのをお薦めするなら、これかなぁ。プログラマのための文字コード技術入門も良かった気がしていますが。。。

文字コード「超」研究 改訂第2版

文字コード「超」研究 改訂第2版

 

 あと、文字コード関連で一番読んだWeb上の記事は「文字の海、ビットの舟」ですね。

小形克宏の「文字の海、ビットの舟」
―― 文字コードが私たちに問いかけるもの
http://internet.watch.impress.co.jp/www/column/ogata/

文字コードは、なんだかんだ言っても CPCONV で HEX パターンを見ながら実際に検索とかして覚えた気がします。今は HEX で検索する必要性がほとんどなく、コードページ指定すれば済むか、そもそも意識しなくて良いツールも多いので、出番が減っていますが、トレーニングではよく紹介しています。

CPCONV で HEX 見て、istrings で文字列を取り出す、wiconv でCodePageを変換。なんかそんな事を繰り返していたらだいたい覚えた!という気がしています。

でも、今の若者はそれらのツールで試したり、文字の取り出しに悩んだりしなくても多分大丈夫です(笑)

 今から取り組む若手がやった方がよい部分があるとすれば、インデックス処理(形態素解析とかN-Gram)の理解と、機械学習の辺りでしょうか。

大量文書から必要なデータを効率良く探し出すという部分では、学習させた内容で類似文書をひっぱるとかそのあたりの技術が今後どんどん使われると思いますから、そっちから入る方が良いのかもしれません。つい最近も Microsoft 社が Equivio を買収しましたが、Equivio がどういった技術か?とか見ておくと面白いかもしれませんよ。

 

*1:もちろん今でも苦労されている方が多数いらっしゃるのは承知していますが