Public Function chg(rmsg As String) As String
Dim tep As String
Dim temp As String
Dim i As Integer
Dim b As Integer
tep = rmsg
i = Len(tep)
b = i / 4
If i = b * 4 Then    
      b = b - 1    
      tep = Left(tep, b * 4)
Else    
      tep = Left(tep, b * 4)
End if
chg = ""
For i = 1 To b 
      temp = "&H" & Mid(tep, (i - 1) * 4 + 1, 4)     
      chg = chg & ChrW(CInt(Val(temp)))
Next i
End Function
以上是一个人讲解将中文字符串转成UNICODE码的一个函数,可是我直接将全部字符串转成UNICODE码
不是更好更快吗?为身摸还要象上述一样分成几组转换,再拼到一起呢?
我不懂请大家为我解释一下谢谢

解决方案 »

  1.   

    可是我直接将全部字符串转成UNICODE码不是更好更快吗?那你是怎么样转换的呢?
      

  2.   

    Private Sub Command1_Click()
        Dim a As String
        a = Hex(AscW("你"))
        a = a & a
        MsgBox chg(a)
    End Sub这样 会弹出一个 “你”字 呵呵他可能是 把一个  含有unicode 编码数字的字符(16进制) 转化为 他的字符吧
      

  3.   

    这个CSDN的精华写错了,ASCW和CHRW函数写反了竟然NND。