我有一个输入文本字段,它接受一定的最大字符数。如果字符输入是unicode,则此字符数应该更改。 问题:
有没有办法可以检查字符输入是否是unicode?
答案 0 :(得分:1)
以字节为单位检查字符串长度和尺寸。
如果两者相等则为ASCII。
如果以字节为单位的大小大于字符串的长度,则它包含UNICODE字符。
我记得在VS6中使用Len()和LenB()函数同样...
古德纳克!!
答案 1 :(得分:0)
Microsoft提供API IsTextUnicode。它的一些漏洞很有名。
答案 2 :(得分:0)
我认为使用正则表达式检查每个字符输入是否更容易unicode ...:)
答案 3 :(得分:0)
您输入的任何字符都是Unicode,因为Unicode涵盖了Windows支持的所有代码页,等等。
您可以调用IsWindowUnicode,如果结果为true,并且使用GetWindowTextW(或定义了GetWindowText和UNICODE)检索文本,则结果存储在Unicode字符串中(wchar_t或WCHART,同样的事情)。
否则,您将在char数组中检索结果,并在系统代码页中对其进行编码(也称为“ANSI代码页”)