s  =   StrConv(Data,vbUnicode)将字节转换为字符串,Data  =   StrConv(Data,vbFromUnicode)转换回来,发现在如果转换汉字,就会出现问题了。这是什么原因呢?能否不使用StrConv,如何编写一个字节或字符串转换成UNICODE的转换程序,在由Unicode转换为vbFromUnicode格式的程序,并且可以支持中文的?

解决方案 »

  1.   

    转用全部Unicode控件就不会出现你说的问题了。显示不了中文字符是因为当前系统内码不同引起的。现在2个选择吧:1)如果继续使用vb6,那么就把控件转为支持Unicode的。欧洲有人卖一套大约欧币600元。2)不想浪费钱?那么就用 VB 2005 或者 VB 2008吧,全部的控件都Unicode了。
      

  2.   

    Data = StrConv(Data,vbFromUnicode)
    上句似乎有问题。Private Sub Command1_Click()
        Dim sTemp As String
        sTemp = "给电子工程师的忠告!!![1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手![2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!"
        Dim yTemp() As Byte
        sTemp = sTemp 
        yTemp = StrConv(sTemp, vbFromUnicode)
        Hsum = UBound(yTemp)
        For i = 1 To Len(strData) - 4 Step 2
            yTemp((i - 1) \ 2) = Val("&H" & Mid(strData, i, 2))
        Next
        sTemp = StrConv(yTemp, vbUnicode)
        Text1 = sTemp
    End Sub
      

  3.   

    Private Sub Command1_Click()
        Dim yTemp() As Byte
        Dim sTemp As String
        Dim sTemp1 As String
        sTemp = "给电子工程师的忠告!!![1]好好规划自己的路,不要跟着感觉走!" 
        yTemp = StrConv(sTemp, vbFromUnicode)
        sTemp1 = StrConv(yTemp, vbUnicode)
        Text1 = sTemp1
    End Sub