image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« ピックアップ: EDINET XBRLパイロット参加に当たって, スコット・アンブラー氏の講演を聞いて, etc... | トップページ | ピックアップ:TISの社内SNS事例, 「時をかける少女」DVD 発売2ヶ月で累計11万本, etc... »

2007-06-22

URL の encoding で少しはまった

URL の encoding で少しはまった。

* ruby では http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=URI によると
  URI.encode(str[, unsafe])
    URI 文字列をエンコードした文字列を返します。unsafe には、URI として指定できない文字を正規表現か文字列で指定します
    (デフォルトは、定数 URI::UNSAFE
       /[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n
    です)

* xfy では http://www.xfy.com/jp/manual/dev/developer/1.4/spec/reference_function.html#url-encode によると
  function:url-encode 関数
   エスケープ文字への変換対象となる文字は、次の文字を除くすべての文字です。
    * アルファベット(a~z、A~Z)
    * 数字(0~9)
    * 第2引数で指定された文字列に含まれる文字
   第2引数が省略された場合は、次の規則に従って変換されます。
    * アルファベット(a~z、A~Z)、数字(0~9)は変換されません。
    * URL区切り文字や、URLで利用できる記号(-_.*/:;!?$#&+=~@[])は変換されません。

* java では  http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/net/URLEncoder.html によると
    英数字文字の「a」から「z」、「A」から「Z」、および「0」から「9」は元のまま残す
    特殊文字の「.」、「-」、「*」、および「_」は元のまま残す
    空白文字「 」をプラス記号「+」に変換する

どれも default 動作が微妙に規則が異なっている。
一つの言語中で閉じた処理をしちるなら問題はないだろうが、異なる言語で一つのデータを使い回そうとすると
特殊な記号を含んだ URL があった場合にはまるのは必至だ。

java の API が一番 柔軟性がないので、普通の場合は java に合わせて ruby, xvcd では
第2パラメータを指定してつかうようにするのがいいか?

各種の web-service や RDB からの出力での URL encoding ってどうなっているかも気になるなぁ。

# こんなことでハマるとは想定外だった orz...

« ピックアップ: EDINET XBRLパイロット参加に当たって, スコット・アンブラー氏の講演を聞いて, etc... | トップページ | ピックアップ:TISの社内SNS事例, 「時をかける少女」DVD 発売2ヶ月で累計11万本, etc... »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/184434/15514691

この記事へのトラックバック一覧です: URL の encoding で少しはまった:

« ピックアップ: EDINET XBRLパイロット参加に当たって, スコット・アンブラー氏の講演を聞いて, etc... | トップページ | ピックアップ:TISの社内SNS事例, 「時をかける少女」DVD 発売2ヶ月で累計11万本, etc... »

mokuji

2013年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク