vb6:如何检测字符串是否为unicode

时间:2017-09-22 09:05:07

标签: unicode vb6

我正在开发一个需要检测字符串是否为Unicode的函数。

我从Access DB获取此字符串。

现在我分析每两个字节:如果秒是00则是Unicode,但并非总是如此;有时候,我有&H2 &HA1个字节。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果基础数据主要是ASCII / ANSI,那么您当前的检查就足够了。在16位Unicode中,此类字符串数据将具有大多数字符,其高字节为00.不是100%,而是明显多数。这不会出现在直接的ANSI字符串数据中。

答案 1 :(得分:0)

只有0到127之间的字符是“安全的”。从128到255的ANSI字符值在不同的语言环境中具有不同的含义和字符映射。

例如,在美国英语语言环境中:

Option Explicit

Private Sub Form_Load()
    Dim S As String

    S = "‰"
    Debug.Print S, Asc(S), AscW(S)
End Sub

产地:

‰              137           8240