|
■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
|