decodeLog (逆リンク追跡ログ解析補助プログラム)
reverse (逆リンク追跡プログラム)
で集めたログを解析するときに使う補助プログラムです。
ログに含まれる %20 等の16進エンコードされた文字列をデコードすると同時に、
漢字コードを Shift_JIS(正確には CP932) に変換します。
このプログラムをコンパイル、リンクするには、
GNU の iconv ライブラリ(libiconv)
が必要です。別途、各自で入手してください。
iconv のバージョンは 1.8 以降が推奨ですが、それ以前の版でも構いません。
本プログラムの配布条件は GPL にしたがいます。
なお、このプログラムは、Webサーバ上ではなく、
各自のローカルマシン上で使用することを前提としています。
実行方法は以下の通り。
decodeLog ログファイル名
または
decodeLog < ログファイル名
- ソースプログラム decodeLog.c (15491byte)
このソースプログラム中で使っている漢字コードは Shift_JIS なので、
各自の環境に合わせて適宜、コード変換してください。
- Windows用バイナリパッケージ decodeLog.lzh
(19196byte)
LCC-WIN32
を使ってコンパイル、リンクして生成した
decodeLog.exe を含むパッケージです。
自分でビルドするのが面倒な方やお急ぎの方は、ご利用ください。
ただし、iconv.dll は別途、各自で入手してください。
ダウンロードする前に、
本パッケージの説明 を参照しておいてください。
参考: libiconv の入手先
UNIX や Linux 上では、
gnu.org から拾ってきたソースを使って libiconv を生成するのがお勧めです。
Windows 上で動かすには、自力で gnu.org のソースから Win32 用のライブラリを作るか、
各所で配布されているバイナリパッケージを拾ってきます。
Win32用のビルド済み iconv.dll (もしくは iconv32.dll) は、
上記 meadow.org 以外でも、各所でいろんな版が配布されています。
各種検索エンジン等で探してみてください。
その他、cygwin や WIN32用のPHP(PHP/Win32バイナリパッケージ)等に含まれる
iconv ライブラリも利用可能です。ただし、適宜、
コンパイル環境の構築時にそれぞれ独自のカスタマイズが必要な場合があります。
ちなみに、本プログラムは、
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=iconv+win32+%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA
のような文字列を解析するのにも使用できます。
上記の文字列を decodeLog で処理した結果は、以下のようになります。
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=iconv+win32+バイナリ
更新情報
- 2003年10月15日 最初の版を公開
- 2003年10月16日 &#xHH; 形式(16進) および &#DDD; 形式(10進) の文字列のデコードもサポート
- 2003年10月16日(夜) UTF-8 で "〜" (16進で 0xEF 0xBD 0x9E の並び) を含む文字列の場合、iconv() がコード変換に失敗することが判明したため、対策を実施。
- 2003年10月24日 不完全ではあるが EUC-KR に対応(とりあえず、ひらがな、カタカナはOK)
- 2004年2月4日 %uXXXX 形式(16進) および #nnnnn; 形式(10進) の Unicode (UCS-2BE) 文字列のデコードもサポート。
reverse.cgi (http://www.na.rim.or.jp/~tsupo/reverse/reverse2.html にて近日公開予定) のアクセス解析用ログにも対応。
[reverse]
[Tsuporone's Program Library]
[トップページ]
[活動メモ]
[Activity Memo]
[観測気球]
[ひとこと伝言板]
Access Count:
Copyright (c) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009, 2010, 2011, 2012 by Hiroshi Tsujimura
(tsupo@na.rim.or.jp)
Some Rights Reserved.
Last Modified: Wednesday, 29-Aug-2007 03:54:30 JST