【问题标题】:Getting the unicode value of a char in VB在VB中获取char的unicode值
【发布时间】:2010-10-23 21:48:41
【问题描述】:

如何获取 char 的 unicode 值?

例如,我知道我可以用 ascii 做到这一点:

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

如果我有一个 unicode char 怎么办?

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

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

我在 Outlook 2003 中这样做,如果这有什么不同的话。

【问题讨论】:

    标签: vba unicode


    【解决方案1】:

    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
    

    【讨论】:

      【解决方案2】:

      AscW 呢?

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多