This page is Japanese code S-JIS
CGI エンコード・デコードをする

ご存知のように、フォームなどから入力されるデータは、Web サーバに到着時には、エンコードされている。
エンコードの方法は、7bit ASCII 以外のデータは、"%" に 8bit を、16 進数で表現したものを続けるというものである。
7bit ASCII でも記号類は、ほぼエンコードされている。(Web によって特殊な意味をもたされているので、文字としての記号はエンコードしてもらった方が処理をしやすいからであろう)

以下の左欄に、文字列を入力して、エンコードボタンを押下すれば、右欄にエンコードされた文字列が表示されるし、
右欄に、CGI デコードの文字列を入力し、デコードボタンを押下すれば、左欄にデコードされた文字列が表示される。
読める文字列

デコードされて読みにくい文字列

実は、JavaScript の組み込み関数を使っているだけね。
(ソース見てちょ)
実はクッキーなどの値も、CGI エンコードそれているのよ。

文字コード早見プログラムって感じもなくはない。(ボソッ)
っつても、非 ASCII だけだけどねぇ


使っている関数は、ソースを見れば一目瞭然だが、escape() 関数。
escape() 関数によって変換されない記号は、
Netscape Navigator 3.04en for MS-Windows9x ./_+*@-
Netscape Navigator 4.6Jp for MS-Windows2000 ./_+*-
Netscape Navigator 4.75Jp RedHat Linux 7 +*_./-
Internet Explorer 4.72.3110.1 SP1 for MS-Windows9x ./_+*@-
Internet Explorer 5.00.2920.0000 ./_+*@-
Mozilla 0.9.9 for RedHat7.3 ./_*-+

きちんと、CGI デコードをやるには、"+" は、"%2B" に変換して、" (半角スペース)" は、"+" に変換するようにした方がよい。
ASP の場合はここのどこか
CGI エンコード/デコード


動作確認ブラウザ
Netscape Navigator 3.04en for MS-Windows9x
OK
Netscape Communicator 4.6jp for MS-Windows9x
OK
Netscape Communicator 4.72jp for MS-WindowsNT4.0
OK
Netscape Communicator 4.75jp for MS-Windows2000
OK
Netscape Communicator 4.75jp for RedHat Linux 7
OK
Netscape Communicator 4.79Jp for RedHat Linux7.3
OK
Netscape 6jp for MS-Windows2000
OK
Netscape 6.1 for MacOS9.2.2 (J1-9.2.2 MacOSROM J1-8.8.1)
OK
Internet Explorer 5.0(2022) for MacOS9.2.2 (J1-9.2.2 MacOSROM J1-8.8.1)
OK
Internet Explorer 4.72.3110.1 SP1 for MS-Windows9x
OK
Internet Explorer 4.72.3110.8 SP1 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2314.1003 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2919.6307 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2920.0000 for MS-Windows9x
OK
Internet Explorer 5.00.2920.0000 for MS-Windows2000
OK
Netscape 6.2.1jp for MS-Windows2000
OK
Netscape 6.2.3jp for MS-Windows2000
OK
Opera (free) 5.12 build932 for MS-Windows2000
OK
Mozilla 0.9.9 for RedHat Linux7.3
OK

mail to active@window.goukaku.com