试试以下函数:
Public Function ASCii2Binary(strInput As String) As String
Dim strMid As String
Dim Number As Integer
Dim Counter As Integer
Dim BinaryArray(1 To 8) As Integer
Dim Result As String
On Error GoTo HandleError
BinaryArray(1) = 1
BinaryArray(2) = 2
BinaryArray(3) = 4
BinaryArray(4) = 8
BinaryArray(5) = 16
BinaryArray(6) = 32
BinaryArray(7) = 64
BinaryArray(8) = 128
strMid = strInput
Do Until strMid = ""
Number = Asc(Right$(strMid, 1))
For Counter = 1 To 8
If Number And BinaryArray(Counter) Then
Result = "1" & Result
Else
Result = "0" & Result
End If
Next Counter
strMid = Mid$(strMid, 1, Len(strMid) - 1)
Loop
ASCii2Binary = Result
Exit Function
HandleError:
ASCii2Binary = "Pls contact me to report this bug!"
ErrorOccurred = True
End Function
调用很方便:
z = ASCii2Binary(Chr(4))
z就会等于00000100了
也可以输入"hello"这样的字符串,试试吧。
to c2000:
chr(254)返回的会是0,应该从127往上的是扩展ascii码,chr不支持。