select case len(strconv(str,vbFromUnicode)) case len(str)\2 msgbox "英文" case len(str) msgbox "双字节字符,可能是中文,也可能是其它语言" case else msgbox "混合的" end select
sorry,错了,应该是lenB select case lenB(strconv(str,vbFromUnicode)) case lenB(str)\2 msgbox "英文" case lenB(str) msgbox "双字节字符,可能是中文,也可能是其它语言" case else msgbox "混合的" end select
能不能通过判断 ASC码来判断呢?还有什么牛*的方法没有??
用LEN不是个什么好办法 汉字不会判断成字节来处理的 等待,等待,有什么好的意见啊
Dim aby() As Byte aby = "中a国b1哈哈" Dim i As Long For i = 1 To UBound(aby) Step 2 If aby(i) = 0 Then Debug.Print "第" & i \ 2 + 1 & "个字符是单字节(可能是英文字母)" Else Debug.Print "第" & i \ 2 + 1 & "个字符是双字节(可能是汉字)" End If Next Erase aby
case len(str)\2
msgbox "英文"
case len(str)
msgbox "双字节字符,可能是中文,也可能是其它语言"
case else
msgbox "混合的"
end select
select case lenB(strconv(str,vbFromUnicode))
case lenB(str)\2
msgbox "英文"
case lenB(str)
msgbox "双字节字符,可能是中文,也可能是其它语言"
case else
msgbox "混合的"
end select
汉字不会判断成字节来处理的
等待,等待,有什么好的意见啊
aby = "中a国b1哈哈"
Dim i As Long
For i = 1 To UBound(aby) Step 2
If aby(i) = 0 Then
Debug.Print "第" & i \ 2 + 1 & "个字符是单字节(可能是英文字母)"
Else
Debug.Print "第" & i \ 2 + 1 & "个字符是双字节(可能是汉字)"
End If
Next
Erase aby