转贴:回复人: thefishwilldie(我不懂啊!!!) ( ) 信誉:100  2003-11-18 22:18:09  得分:80 
 
 
  
用new bufferReader()或者这样:把这2个方法加进去来回转换
public static String toTrueAsciiStr(String str){
StringBuffer sb = new StringBuffer();
byte[] bt = str.getBytes();
for(int i =0 ;i<bt.length;i++){
if(bt[i]<0){
//是汉字去高位1
sb.append((char)(bt[i] & 0x7f));
}else{//是英文字符 补0作记录
sb.append((char)0);
sb.append((char)bt[i]);
}
}
return sb.toString();
}
public static String unToTrueAsciiStr(String str){
byte[] bt = str.getBytes();
int i,l=0,length = bt.length,j=0;
for(i = 0;i<length;i++){
if(bt[i] == 0){
l++;
}
}
byte []bt2 = new byte[length-l];
for(i =0 ;i<length;i++){
if(bt[i] == 0){
i++;
bt2[j] = bt[i];
}
else{
bt2[j] = (byte)(bt[i]|0x80);
}
j++;
}
String tt = new String(bt2);
return tt;
}