![]() |
#2
multiple19022008-11-08 10:32
|
Private function toByte(Str)
dim i,iCode,c,iLow,iHigh
toByte=""
For i=1 To Len(Str)
c=mid(Str,i,1)
iCode =Asc(c)
If iCode<0 Then iCode = iCode + 65535
If iCode>255 Then
iLow = Left(Hex(Asc(c)),2)
iHigh =Right(Hex(Asc(c)),2)
toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh)
Else
toByte = toByte & chrB(AscB(c))
End If
Next
End function
End Class
为什么里面的If iCode<0 Then iCode = iCode + 65535,这行用的是65535,而不是65536呢?不是说一个汉字的ASC函数值(是负数)加上65536后就是他真正的码值吗? 为什么这里用了65535呢?