VB 如何将一个二进制数组中的数据转化为字符串

来源:百度知道 编辑:UC知道 时间:2024/07/03 03:42:49
问题如上所示,我举个例子如下
现有一个二进制数组ByteData(1 to 10) 里面的数值依次为 8 0 48 49 50 51 52 53 54 55 ,请问怎么将这个二进制数组转化为相应的字符串?最好给出代码哦
一楼的方法是可行的,我也会,但有个不好,遇到中文字符时会显示为??,请大家再帮帮忙,看能不能有什么内存操作的方法直接取得值呢?

可以直接用函数实现;
参考实例如下:
Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function

答案补充:中文啊,呵呵,好说,Chr改为ChrW就行了。
建一个Command1。
代码如下。
============
Dim bytesdata
Private Sub Command1_Click()
Dim i As Integer, s As String
bytesdata = Array(8, 0, 48, 49, 50, 51, 52, 53, 54, 55)
For i = LBound(bytesdata) To UBound(bytesdata)
s = s & ChrW(bytesdata(i))
Next
Print s
End Sub

注意字节值不能为0,适合单字节字符或双字节汉字:
Private Sub Command1_Click()
Dim sTemp As