在VB中如何返回字符的Unicode编码值,包括中文字符。
为什么我用AscW()函数取中文的Unicode值有些为正数,有些却为负数呢?

解决方案 »

  1.   

    正常,因为AscW返回的Integer型,本来就是2字节的,分正负的啊,你也可
    Hex$(AscW())这样以十六进制格式查看的
      

  2.   

    如何取得汉字的区位码 
      
    Dim f
    Dim L1, R1 As Integer
    Dim InputStr As String
    InputStr = "汉"
    f = Hex(Asc(InputStr))
    L1 = CInt("&H" + Mid(f, 1, 2))
    R1 = CInt("&H" + Mid(f, 3, 2)) 
      

  3.   

    Unicode通常用两字节长的无符号表示,ascw返回的integer是两字节的,但它是有符号的,所以就出现了你看到的现象。可以用下面的方法解决:
    dim unicode as longunicode=ascw("中");
    if code<0 then unicode=unicode+65536