刚才看到一个问题,
"如何验证一个string是不是unicode string"。
开始看这题,懵了,这可怎么做。因为在我的印象中,java的字符数据类型是用UTF-16编码方式表示的。
等于说就是直接就是Unicode字符串,跟本不用判断啊。
所以我感觉这个题目可能不是这个意思.....琢磨了一下,这个题目应该是在问一个string用的原始字符集是不是Unicode(Unicode也有很多编码规则的,比如UTF-8啊,UTF-16啊之类的)。字符集也有很多种的,比如常见的ASCII啊,GB2312之类的。
这样的话,我就能理解这个问题了。。。。。不过新问题又来了,UTF-8是兼容ASCII的,那我们如何分辨他们两呢?
在这儿我感觉只能遍历字符串,获取二进制,然后判断了,如果有哪个字符超过一个字节,那就是UTF-8编码了...
谁有更好的方法,欢迎提供。