2010年07月29日

[jython]エスケープとエンコード

今回はpythonなんだがな。

とある障害対応でアクセスログから検索キーワードの内容を
抽出して、マズいワードを探してよ。みたいな
砂浜の砂粒から砂金を見つけるような作業

手動でやるわけにはいかんし、public static void main(…
とやるのも('A`)マンドクセ
cygwinのpythonでちゃっちゃとやるわ。

で、splitとか検索ワード部分の抽出とかは割愛するとして
デコードの部分

sword=sword.decode("shift_jis")

が何故かうまくいかない(\x何某\x何某\x何某\x何某のまま)
対話モードでやってみると(\x何某をコピペしてな)
うまく行く。

小1時間ほど思案して orz となる。

\x何某と表示されるってことは、メモリ上では
\\x何某 と\ がエスケープされているわけだ。
ファイルから読んでるんだから当たり前だわな。

ということで、

sword=sword.decode("string_escape")
sword=sword.decode("shift_jis")

エスケープを外せばいいだけ。┐(´д`)┌ ヤレヤレ

夏バテ気味で脳に栄養足りてないな・・。

http://lightson.dip.jp/zope/ZWiki/053_e6_96_87_e5_ad_97_e3_82_92_e3_82_a8_e3_82_b9_e3_82_b1_e3_83_bc_e3_83_97_e3_81_99_e3_82_8b_ef_bc_8f_e3_82_a8_e3_82_b9_e3_82_b1_e3_83_bc_e3_83_97_e3_82_92_e5_a4_96_e3_81_99
http://www.python.jp/doc/2.5/lib/standard-encodings.html
http://www.trashbox.jp/~moriwaka/moin.cgi/PythonEncode
posted by koteitan at 10:44| Comment(0) | TrackBack(0) | jython | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック