大家知道,java string 支持以unicode 形式赋值如
String str= "\u3197\u32a5\u4e2d";使用这种方法,可以让java 处理一下无法在java 源文件中输入 的字符。String可以根据一个charSet来获得一个byte[]数组,就拿刚才提到的strbyte[] buf = str.getBytes("BIG5");按说str中的3 个unicode 字符都应该能够获得byte[]序列为a4a4的big5编码,但最终测试的结果为只有最后个可以获得a4a4,前面两个都不行
后来想了下,难道是java String 是两个字节的,而每个字节的最高一个bit固定为0, 所以String的高位4bit不能接能>0x7的字符? 是这样子吗?java jdk 到底支持那些范围的unicode啊??急急最后再说一点,为什么java 对于u+E000以上编码也不能支持啊?