以下是我写的按字节截取字符的一段代码:
byte[] b = s1.getBytes();
if (b.length == 2) {
// 全角
} else if (b.length == 1) {
// 半角}
在WINDOWS环境下,以上代码是没有问题的。
但现在LINUX的EUC编码环境下,比如s1的值为”テ”(日文片假名半角),b.length就变成2个字节了,因为”テ”变成乱码”偲”了,而WINDOWS的JIS编码方式环境下,不存在这个问题的。
初步解决方法:
s1.getBytes() →  s1.getBytes("EUC-JP")
但是好象也不行,请问一下:s1.getBytes("EUC-JP")的功能是不是按EUC编码方式获取字符啊?
我怎么样才可以正确获取EUC编码字符”テ”的长度1啊?