asp Base64 utf-8 は、asp.net との互換性を実現するために、base64 の形式を以下のように指定します。
<%@LANGUAGE=VBSCRIPT コードページ=65001%>
<%Session.CodePage=65001%>
<!--#include file=base64.asp-->
<%
関数 AspUrlDecode(strValue)
Dim varAry、varElement、objStream、lngLoop、Flag
strValue = 置換(strValue, +, )
varAry = Split(strValue, %)
フラグ = varAry(0) =
objStream = Server.CreateObject(ADODB.Stream) を設定します。
objStreamを使用する場合
.Type = 2
.モード = 3
。開ける
varAry の varElement ごとに
varElement <> が空の場合
Len(varElement) >= 2 かつフラグの場合
.WriteText ChrB(CInt(&H & Left(varElement, 2)))
lngLoop = 3 To Len(varElement) の場合
.WriteText ChrB(Asc(Mid(varElement, lngLoop, 1)))
次
それ以外
lngLoop = 1 To Len(varElement) の場合
.WriteText ChrB(Asc(Mid(varElement, lngLoop, 1)))
次
フラグ = True
終了の場合
終了の場合
次
.WriteText Chr(0)
.位置 = 0
AspUrlDecode = Replace(ConvUnicode(.ReadText), Chr(0), , 1, -1, 0)
エラー時は次へ再開
。近い
objStream = なしを設定します
で終わる
終了機能
関数ConvUnicode(ByVal strData)
Dim rs、stm、bytAry、intLen
Len(strData & ) > 0 の場合
strData = MidB(strData, 1)
intLen = LenB(strData)
Set rs = Server.CreateObject(ADODB.Recordset)
stm = Server.CreateObject(ADODB.Stream) を設定します。
RS付き
.Fields.Append X、205、intLen
。開ける
.AddNew
rs(0).AppendChunk strData & ChrB(0)
。アップデート
bytAry = rs(0).GetChunk(intLen)
で終わる
STM付き
.Type = 1
。開ける
.Write bytAry
.位置 = 0
.Type = 2
.Charset = utf-8
ConvUnicode = .ReadText
で終わる
終了の場合
エラー時は次へ再開
stm.閉じる
stm = 何も設定しない
rs.閉じる
rs = 何も設定しない
終了機能
%>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<頭>
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
</head>
<本文>
<%
'base64コード後,比起.net多了77u/
Response.Write(base64编码後:&base64Encode(阿会楠)&<br />)
'base64解読後
Response.Write(base64解脱後:&base64uncode(6Zi/5Lya5qWg)&<br />)
%>
</body>
</html>