在VB中获取char的unicode值

时间:2010-10-23 21:48:42

标签: vba unicode

如何获取char的unicode值?

例如,我知道我可以用ascii执行此操作:

i = Asc("a") // i == 97 (correct)

如果我有unicode char怎么办?

i = Asc("•") // i == 149 (incorrect... should return 8226)

显然第二个例子不起作用,因为该字符不在Ascii集中。是否有可以使用的等效函数返回8226而不是错误的结果149

我在Outlook 2003中这样做,如果这有任何区别。

2 个答案:

答案 0 :(得分:21)

AscW怎么办?

答案 1 :(得分:2)

RC提供的答案。帮了我很多,但我有AscW()函数的问题,有时会返回负值。

就我而言,使用中文字符时会出现问题。

我在网上找到了一个解决方法:

Function CharToUnicode(strChar As String)

    Dim lngUnicode As Long

    lngUnicode = AscW(strChar)

    If lngUnicode < 0 Then
        lngUnicode = 65536 + lngUnicode
    End If

    CharToUnicode = lngUnicode

End Function