2014-02-18 89 views
0

我正在使用遗留代码,我看到很多(c & 0xff00) != 65280的字符数组(其中c是一个字符)。谁能告诉我这是什么成就?(x&0xff00)!= 65280是做什么的?

+0

谷歌'java的运营商'。然后谷歌'Java十六进制文字'。 –

+0

在java中按位运算符http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html – bjhaid

+1

我了解按位运算符以及它如何达到解决方案,但我想知道使用此功能的原因。根据http://home.paulschou.net/tools/xlate/,65280是00000000,这意味着c必须是0.为什么不直接通过“c == 0”检查它? – gamecoder

回答

0

它正在测试该字符的高字节是否全是1,或者更确切地说,不全是1。测试成功 - 不是所有的人 - 如果字符既不是在Unicode类别“半角和全角”,也不在Unicode类别“特价”,按照以下文件:

http://www.unicode.org/Public/UCD/latest/ucd/Blocks.txt

+0

啊,甜心,谢谢。考虑到这种情况,这也是有道理的。 – gamecoder