최초등록
This commit is contained in:
@@ -0,0 +1,226 @@
|
||||
<%
|
||||
Dim sBASE_64_CHARACTERS, sBASE_64_CHARACTERSansi
|
||||
sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
||||
sBASE_64_CHARACTERSansi = strUnicode2Ansi(sBASE_64_CHARACTERS)
|
||||
|
||||
|
||||
Function strUnicodeLen(asContents)
|
||||
Dim asContents1 : asContents1 ="a" & asContents
|
||||
Dim Len1 : Len1=Len(asContents1)
|
||||
Dim K : K=0
|
||||
Dim I, Asc1
|
||||
|
||||
For I=1 To Len1
|
||||
Asc1 = asc(mid(asContents1,I,1))
|
||||
IF Asc1 < 0 Then Asc1 = 65536 + Asc1
|
||||
IF Asc1 > 255 Then
|
||||
K = K + 2
|
||||
ELSE
|
||||
K = K + 1
|
||||
End IF
|
||||
Next
|
||||
|
||||
strUnicodeLen = K - 1
|
||||
End Function
|
||||
|
||||
Function strUnicode2Ansi(asContents)
|
||||
Dim Len1 : Len1 = Len(asContents)
|
||||
Dim I, VarCHAR, VarASC, VarHEX, VarLOW, VarHIGH
|
||||
|
||||
strUnicode2Ansi = ""
|
||||
|
||||
For I = 1 to Len1
|
||||
VarCHAR = Mid(asContents,I,1)
|
||||
VarASC = Asc(VarCHAR)
|
||||
IF VarASC < 0 Then VarASC = VarASC + 65536
|
||||
IF VarASC > 255 Then
|
||||
VarHEX = Hex(VarASC)
|
||||
VarLOW = Left(VarHEX,2)
|
||||
VarHIGH = Right(VarHEX,2)
|
||||
strUnicode2Ansi = strUnicode2Ansi & ChrB("&H" & VarLOW ) & ChrB("&H" & VarHIGH )
|
||||
Else
|
||||
strUnicode2Ansi = strUnicode2Ansi & ChrB(VarASC)
|
||||
End IF
|
||||
Next
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Function strAnsi2Unicode(asContents)
|
||||
Dim Len1 : Len1 = LenB(asContents)
|
||||
Dim VarCHAR, VarASC, I
|
||||
|
||||
strAnsi2Unicode = ""
|
||||
|
||||
IF Len1=0 Then Exit Function
|
||||
|
||||
For I=1 To Len1
|
||||
VarCHAR = MidB(asContents,I,1)
|
||||
VarASC = AscB(VarCHAR)
|
||||
IF VarASC > 127 Then
|
||||
strAnsi2Unicode = strAnsi2Unicode & Chr(AscW(MidB(asContents, I+1,1) & VarCHAR))
|
||||
I = I + 1
|
||||
Else
|
||||
strAnsi2Unicode = strAnsi2Unicode & Chr(VarASC)
|
||||
End IF
|
||||
Next
|
||||
|
||||
End function
|
||||
|
||||
Function Base64encode(asContents)
|
||||
Dim lnPosition
|
||||
Dim lsResult
|
||||
Dim Char1
|
||||
Dim Char2
|
||||
Dim Char3
|
||||
Dim Char4
|
||||
Dim Byte1
|
||||
Dim Byte2
|
||||
Dim Byte3
|
||||
Dim SaveBits1
|
||||
Dim SaveBits2
|
||||
Dim lsGroupBinary
|
||||
Dim lsGroup64
|
||||
Dim M3, M4, Len1, Len2
|
||||
|
||||
Len1 =LenB(asContents)
|
||||
|
||||
IF Len1 < 1 Then
|
||||
Base64encode = ""
|
||||
Exit Function
|
||||
End IF
|
||||
|
||||
M3=Len1 Mod 3
|
||||
|
||||
IF M3 > 0 Then asContents = asContents & String(3 - M3, ChrB(0))
|
||||
|
||||
IF m3 > 0 Then
|
||||
Len1 = Len1 + (3 - M3)
|
||||
Len2 = Len1 - 3
|
||||
Else
|
||||
Len2 = Len1
|
||||
End IF
|
||||
|
||||
lsResult = ""
|
||||
|
||||
For lnPosition = 1 To Len2 Step 3
|
||||
lsGroup64 = ""
|
||||
lsGroupBinary = MidB(asContents, lnPosition, 3)
|
||||
|
||||
Byte1 = AscB(MidB(lsGroupBinary, 1, 1)) : SaveBits1 = Byte1 And 3
|
||||
Byte2 = AscB(MidB(lsGroupBinary, 2, 1)) : SaveBits2 = Byte2 And 15
|
||||
Byte3 = AscB(MidB(lsGroupBinary, 3, 1))
|
||||
|
||||
Char1 = MidB(sBASE_64_CHARACTERSansi, ((Byte1 And 252) \ 4) + 1, 1)
|
||||
Char2 = MidB(sBASE_64_CHARACTERSansi, (((Byte2 And 240) \ 16) Or (SaveBits1 * 16) And &HFF) + 1, 1)
|
||||
Char3 = MidB(sBASE_64_CHARACTERSansi, (((Byte3 And 192) \ 64) Or (SaveBits2 * 4) And &HFF) + 1, 1)
|
||||
Char4 = MidB(sBASE_64_CHARACTERSansi, (Byte3 And 63) + 1, 1)
|
||||
lsGroup64 = Char1 & Char2 & Char3 & Char4
|
||||
lsResult = lsResult & lsGroup64
|
||||
Next
|
||||
|
||||
IF M3 > 0 Then
|
||||
lsGroup64 = ""
|
||||
lsGroupBinary = MidB(asContents, Len2 + 1, 3)
|
||||
|
||||
Byte1 = AscB(MidB(lsGroupBinary, 1, 1)) : SaveBits1 = Byte1 And 3
|
||||
Byte2 = AscB(MidB(lsGroupBinary, 2, 1)) : SaveBits2 = Byte2 And 15
|
||||
Byte3 = AscB(MidB(lsGroupBinary, 3, 1))
|
||||
|
||||
Char1 = MidB(sBASE_64_CHARACTERSansi, ((Byte1 And 252) \ 4) + 1, 1)
|
||||
Char2 = MidB(sBASE_64_CHARACTERSansi, (((Byte2 And 240) \ 16) Or (SaveBits1 * 16) And &HFF) + 1, 1)
|
||||
Char3 = MidB(sBASE_64_CHARACTERSansi, (((Byte3 And 192) \ 64) Or (SaveBits2 * 4) And &HFF) + 1, 1)
|
||||
|
||||
IF M3=1 Then
|
||||
lsGroup64 = Char1 & Char2 & ChrB(61) & ChrB(61)
|
||||
Else
|
||||
lsGroup64 = Char1 & Char2 & Char3 & ChrB(61)
|
||||
End IF
|
||||
|
||||
lsResult = lsResult & lsGroup64
|
||||
End IF
|
||||
|
||||
Base64encode = lsResult
|
||||
End Function
|
||||
|
||||
Function Base64decode(asContents)
|
||||
Dim lsResult
|
||||
Dim lnPosition
|
||||
Dim lsGroup64, lsGroupBinary
|
||||
Dim Char1, Char2, Char3, Char4
|
||||
Dim Byte1, Byte2, Byte3
|
||||
Dim M4, Len1, Len2
|
||||
|
||||
Len1 = LenB(asContents)
|
||||
M4 = Len1 Mod 4
|
||||
|
||||
IF Len1 < 1 Or M4 > 0 Then
|
||||
Base64decode = ""
|
||||
Exit Function
|
||||
End IF
|
||||
|
||||
IF MidB(asContents, Len1, 1) = ChrB(61) Then M4 = 3
|
||||
IF MidB(asContents, Len1-1, 1) = ChrB(61) Then M4 = 2
|
||||
|
||||
IF M4 = 0 Then
|
||||
Len2 = Len1
|
||||
Else
|
||||
Len2 = Len1 - 4
|
||||
End IF
|
||||
|
||||
For lnPosition = 1 To Len2 Step 4
|
||||
lsGroupBinary = ""
|
||||
lsGroup64 = MidB(asContents, lnPosition, 4)
|
||||
|
||||
Char1 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 1, 1)) - 1
|
||||
Char2 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 2, 1)) - 1
|
||||
Char3 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 3, 1)) - 1
|
||||
Char4 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 4, 1)) - 1
|
||||
|
||||
Byte1 = ChrB(((Char2 And 48) \ 16) Or (Char1 * 4) And &HFF)
|
||||
Byte2 = lsGroupBinary & ChrB(((Char3 And 60) \ 4) Or (Char2 * 16) And &HFF)
|
||||
Byte3 = ChrB((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63))
|
||||
lsGroupBinary = Byte1 & Byte2 & Byte3
|
||||
|
||||
lsResult = lsResult & lsGroupBinary
|
||||
Next
|
||||
|
||||
IF M4 > 0 Then
|
||||
lsGroupBinary = ""
|
||||
lsGroup64 = MidB(asContents, Len2 + 1, M4) & ChrB(65)
|
||||
IF M4=2 Then
|
||||
lsGroup64 = lsGroup64 & chrB(65)
|
||||
End IF
|
||||
Char1 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 1, 1)) - 1
|
||||
Char2 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 2, 1)) - 1
|
||||
Char3 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 3, 1)) - 1
|
||||
Char4 = InStrB(sBASE_64_CHARACTERSansi, MidB(lsGroup64, 4, 1)) - 1
|
||||
|
||||
Byte1 = ChrB(((Char2 And 48) \ 16) Or (Char1 * 4) And &HFF)
|
||||
Byte2 = lsGroupBinary & ChrB(((Char3 And 60) \ 4) Or (Char2 * 16) And &HFF)
|
||||
Byte3 = ChrB((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63))
|
||||
|
||||
IF M4=2 Then
|
||||
lsGroupBinary = Byte1
|
||||
elseIF M4=3 Then
|
||||
lsGroupBinary = Byte1 & Byte2
|
||||
end IF
|
||||
|
||||
lsResult = lsResult & lsGroupBinary
|
||||
End IF
|
||||
|
||||
Base64decode = lsResult
|
||||
End Function
|
||||
|
||||
'################################## 紫遂 児巴 ##################################
|
||||
'Dim ORIGNvalue : ORIGNvalue = "馬刃嬢発神虞っ壱っ錠けぉ22けけ@@しけぉ;いしaabcsdfaeerdfadf"
|
||||
'Dim EncodeA : EncodeA = strAnsi2Unicode(Base64encode(strUnicode2Ansi(ORIGNvalue)))
|
||||
'Dim DecodeA : DecodeA = strAnsi2Unicode(Base64decode(strUnicode2Ansi(EncodeA)))
|
||||
|
||||
'response.write "------------------------------------------------------------------------<BR>"
|
||||
'response.write "lsResult : " & ORIGNvalue & "<BR>"
|
||||
'response.write "lsResult : " & EncodeA & "<BR>"
|
||||
'response.write "lsResult : " & DecodeA & "<BR>"
|
||||
'response.write "------------------------------------------------------------------------<BR>"
|
||||
|
||||
%>
|
||||
Reference in New Issue
Block a user