a=chrb(1)+chrb(200)+chrb(2)
b=strconv(a,vbUnicode)
如何把b转换回a?

解决方案 »

  1.   

    大家都会想到strconv(b,vbfromUnicode)的,可结果不对的
      

  2.   

    Private Sub Command1_Click()
    a = StrConv(ChrB(1) + ChrB(200) + ChrB(2), vbProperCase)
    b = StrConv(a, vbUnicode)
    c = StrConv(b, vbFromUnicode)
    MsgBox a = c
    End Sub
      

  3.   

    一般的文本内容,转成UNICODE再转回来是一致的,可任意的二进制代码转称UNICODE后就转不回来了,如上面的3个字符中的第3个换成CHR(40)就会转回来,我想可能是200、40两个字符可以组成一个汉字的原因吧。因为VB的字符串只是UNICODE的,从另外的DLL传来的二进制字符串会自动变为UNICODE了,我想复原,难呀!
    楼上的:
    我不是让你在变UNICODE前先变,是让你在转变后复原。