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