C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ASPのURLDECODEについて


(過去ログ 14 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■4860 / inTopicNo.1)  ASPのURLDECODEについて
  
□投稿者/ きち (3回)-(2007/06/27(Wed) 19:45:33)

分類:[レガシ ASP] 

お世話になります。

下記、ご存知の方がいましたら、助言願います。

ASP.NETの場合、URLDECODE時に、文字コード指定ができます。
 
 ⇒ System.Web.HttpUtility.UrlDecode(strDecode, [文字コード指定])

この機能をASP(.NETではない)で実現したいと考えています。

ASPの場合、HttpUtility.UrlDecodeで文字コードが指定できません。

宜しくお願い致します。
引用返信 編集キー/
■4862 / inTopicNo.2)  Re[1]: ASPのURLDECODEについて
□投稿者/ ぽぴ王子 (224回)-(2007/06/27(Wed) 20:00:42)
ぽぴ王子 さんの Web サイト
2007/06/27(Wed) 20:02:32 編集(投稿者)

No4860 (きち さん) に返信

> ASPの場合、HttpUtility.UrlDecodeで文字コードが指定できません。

だけだと「ああ、そうですね」としか言えないですね。
どこまでを自分で考えていて、何が知りたいのかが書いていないので。

もしかしてこういう意味でしょうか。
http://q.hatena.ne.jp/1100662161
引用返信 編集キー/
■4863 / inTopicNo.3)  Re[2]: ASPのURLDECODEについて
□投稿者/ きち (4回)-(2007/06/27(Wed) 20:39:13)

ご回答ありがとうございます。
リンク先の質問の通りです。

但し、文字コードについては、GB18030という簡易中国語の文字コードです。
つまり、

  System.Web.HttpUtility.UrlDecode(strDecode, Encoding.GetEncoding("GB18030"))

の処理をASPで行いたいと考えています。



リンク先の回答も読んだのですが、いづれも、適した回答ではありませんでした。

申し訳ありませんが、方法等ご存知でしたら、お教えいただきたいと思います。


引用返信 編集キー/
■4864 / inTopicNo.4)  Re[1]: ASPのURLDECODEについて
□投稿者/ 魔界の仮面弁士 (318回)-(2007/06/27(Wed) 20:45:17)
No4860 (きち さん) に返信
> ASPの場合、HttpUtility.UrlDecodeで文字コードが指定できません。

標準機能としては用意されていないので、自分で実装する必要があると思いますよ。

たとえば、 http://kawabata.com/com/kawabataCom_Url.asp
「Function URLDecode(url, charset)」のように…。
引用返信 編集キー/
■4868 / inTopicNo.5)  Re[3]: ASPのURLDECODEについて
□投稿者/ 魔界の仮面弁士 (319回)-(2007/06/27(Wed) 21:27:19)
No4863 (きち さん) に返信
> 但し、文字コードについては、GB18030という簡易中国語の文字コードです。
GB18030 という名前だけは知っていますが、その詳細を知りません。(^^;


> の処理をASPで行いたいと考えています。
とりあえず、手抜きで「"%00" 形式のデータに限定」して作ってみましたが……、
GB18030 のエンコード済みデータが用意できなかったので、検証できません。


S = URLDecode("%93%FA%96%7B", "Shift_JIS")  '「日本」
S = URLDecode("%D6%D0%C8%41", "GB18030")    '「中華」
S = URLDecode("%D6%D0%C8%41", "GB2312")     '「中華」
S = URLDecode("%D6%D0%C8%41", "Shift_JIS")  '(ヨミネA)

Function URLDecode(encodedText, charset)
  Dim rawBinary
  With CreateObject("Microsoft.XMLDOM").createElement("orator")
    .DataType = "bin.hex"
    .Text = LCase(Replace(encodedText, "%", ""))
    rawBinary = .NodeTypedValue
  End With
  With CreateObject("ADODB.Stream")
    .Type = 1  'adTypeBinary
    .Open
    .Write rawBinary
    .Position = 0
    .Type = 2  'adTypeText
    .charset = charset
    URLDecode = .ReadText()
    .Close
  End With
End Function

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -