MFC:如何检查字符输入是否为unicode?

时间:2010-04-19 06:05:18

标签: unicode mfc visual-c++

我有一个输入文本字段,它接受一定的最大字符数。如果字符输入是unicode,则此字符数应该更改。 问题:

有没有办法可以检查字符输入是否是unicode?

4 个答案:

答案 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代码页”)