在window系统下,java将一个中文保存为一个char(实际上是一个int),保存的是这个字符的unicode。当一个char  >255时就是一个中文。但在linux下就不同了,一个中文是两个char(此时一个char是一个byte)。此时判断中文字符与dos下差不多。String  str  =  new  String(  "my123name7888".getBytes(  "ISO-8859-1  "),  "GB2312  ");  
char[]  arr  =  str.toCharArray();  
每个英文和中文都当作一个char,那你知道怎么算吧。