WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:unescape("%82A0") は "あ"にならない?

ひよこ [MAIL] [WriteDate : Wed May 9 08:10:38 2001]

こんいちは。
ちょっと素朴な疑問っぽいですが、先日デコードする関数を作ろうと思って
JavaScriptでやっていたのですが、

alert(unescape("%82A0")   --> "あ"にならない。
alert(escape("あ")    --> "%u3042"となる

で、躓いてしまいました。
JavaScriptの本にもしっかりと

myVal = unescape("%82A0")
変数myValに(shift-JISコード)漢字の「あ」を代入する。

と描かれているので不思議に思っています。
一体どうなっているのでしょう?
さらに "%u3042"のコードは何でしょう?教えて下さい。


ひよこ [MAIL] [URL] [WriteDate : Wed May 9 08:11:48 2001]

忘れていました。
環境は WinME + IE5です。


ちゃいぱ  [WriteDate : Wed May 9 08:57:48 2001]

>さらに "%u3042"のコードは何でしょう?教えて下さい。
Unicodeってやつです。

>JavaScriptの本にもしっかりと
結構、古い本でしょう?!
昔は、SJISの時代がありました。(NN4.xは現役かな?)


ひよこ [MAIL] [URL] [WriteDate : Wed May 9 10:14:09 2001]

> Unicodeってやつです。
そうかとも思って調べたら「あ」のUnicode(UTF-8)は手元の本で "E38182"となっています。
関連性を見いだせませんでした。
良ければ"%u3042"と"E38182"の関連性を教えて下さい。

>>JavaScriptの本にもしっかりと
> 結構、古い本でしょう?!
> 昔は、SJISの時代がありました。(NN4.xは現役かな?)
古いです(^^; 古籏さんのポケリファでした。

それと本題ですが、今formからGETで送信されたデーターをデコードしようとして
こんな事になってしまっているのですが、送信されるデーターはshift-jisのほうの"%82%A0"に
なっているので、unescape()が使えないとなるとどの様な処理になるのでしょう?
shift-JISとUnicodeを相互に変換する関数でもあれば良いのですが・・
一応お断りしておきますが、Perlでのデコードは簡単なのですが、あえて
JavaScriptでの処理の仕方を考えています。


ひよこ [MAIL] [URL] [WriteDate : Wed May 9 10:29:28 2001]

先ほど、こんなのを見つけました。
http://www02a.so-net.ne.jp/~komori/doc/js/escape.html

Javaで変換ですね。やっぱりJavaScriptだけでは無理なんでしょうか。


たこすけ [WriteDate : Wed May 9 12:18:48 2001]

送信時にescape()して
受信側でunescape()を2回すれば
良いと思います。


バギンズ [WriteDate : Wed May 9 12:24:10 2001]

あまり参考にはならないかもしれませんが、こんなのを見つけました。
http://tohoho.wakusei.ne.jp/lng/b200005/00050079.htm

※とほほのWWW入門のURLが変わっていたのに今日気が付きました。(^_^;)


ひよこ [MAIL] [URL] [WriteDate : Wed May 9 13:19:27 2001]

たこすけさん、バギンズさん、ありがとうございます。
色々調べてるうちに、事情はもっと複雑なのだと実感しました。
http://lynx2.felix.or.jp/~yugo/js/guide/escape.html

ちょっとTips的に組み込もうとしたのが甘かったようです。

> 送信時にescape()して
> 受信側でunescape()を2回すれば
どういう原理か良くわかりませんが、送信側はあくまでCGI向けで特別な処理を行わない
ものでしたので受信側だけで処理しようと考えていました。
どういう動作するか研究したいと思います。

そういうことで、とりあえず挫折(笑)&完了にしておきます。


たこすけ [WriteDate : Thu May 10 00:37:05 2001]

# 完了後で恐縮ですが…

> どういう原理か良くわかりませんが
単純に、一度 escaoe()による符号化をした値であれば
"%" 以外はURIエスケープの影響を受けないかな?
と、思っただけです。

あんまり深く考えて無いうえに
検証もローカルによるいいかげんなものしか
していないので
> どういう動作するか研究したいと思います。
これは、ちと困るかも(笑)

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World