Function GetTransNumber(trans_string)'獲取該字符串ASC碼轉義取反的編碼,注意,在編碼前對單個字節的大小進行了規格化,便於以後取值(URL不支持中文,構造URL如有困難請用ANSICode來規格化)
If IsNull(trans_string) Or trans_string="" Then
GetTransNumber=""
Exit Function
End If
trans_cache=""
For trans_index=1 To Len(trans_string)
trans_num=Asc(Mid(trans_string,trans_index,1))'獲取ASC碼
If trans_num<0 Then
'有雙字節字符在裏面,獲得的值爲32位,低8位正負位爲1,無法按規格化取碼(16位)
GetTransNumber=""
Exit Function
End If
trans_num=255-trans_num'取反,即補碼
If trans_num<10 Then'補2位
trans_cache=trans_cache&"00"&trans_num
ElseIf trans_num<100 Then'補1位
trans_cache=trans_cache&"0"&trans_num
Else
trans_cache=trans_cache&trans_num
End If
Next
GetTransNumber=trans_cache
End Function
Function GetTransString(trans_string)'獲取字符串原值
If IsNull(trans_string) Or trans_string="" Then
GetTransString=""
Exit Function
End If
If Len(trans_string) Mod 3>0 Then'字節數校驗,出錯則不予執行
GetTransString=""
Exit Function
End If
trans_cache=""
For trans_index=0 To Len(trans_string)/3-1'3位爲一字節
trans_num=CInt(Mid(trans_string,trans_index*3+1,3))
trans_cache=trans_cache&Chr(255-trans_num)
Next
GetTransString=trans_cache
End Function