如何验证一个string是不是unicode string

刚才看到一个问题,

"如何验证一个string是不是unicode string"。

开始看这题,懵了,这可怎么做。因为在我的印象中,java的字符数据类型是用UTF-16编码方式表示的。

等于说就是直接就是Unicode字符串,跟本不用判断啊。

所以我感觉这个题目可能不是这个意思.....琢磨了一下,这个题目应该是在问一个string用的原始字符集是不是Unicode(Unicode也有很多编码规则的,比如UTF-8啊,UTF-16啊之类的)。字符集也有很多种的,比如常见的ASCII啊,GB2312之类的。

这样的话,我就能理解这个问题了。。。。。不过新问题又来了,UTF-8是兼容ASCII的,那我们如何分辨他们两呢?

在这儿我感觉只能遍历字符串,获取二进制,然后判断了,如果有哪个字符超过一个字节,那就是UTF-8编码了...

谁有更好的方法,欢迎提供。

posted @ 2014-08-07 11:12  ian在这儿  阅读(807)  评论(0编辑  收藏  举报