首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

汉字与英文的相互转换

2012-10-28 
汉字与英文的互相转换下面的两个方法用来解决乱码问题非常有用.?将包含汉字的字符串转换成英文:/** * 将中

汉字与英文的互相转换

下面的两个方法用来解决乱码问题非常有用.

?

将包含汉字的字符串转换成英文:

/** * 将中英文字串转换成纯英文字串  * @param str * @return */public static String toTureAsciiStr(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(); }

?将转换后的字符串还原:

/** * 将经转换的字串还原  * @param str * @return */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; }

?注意:上例在实际编程中效果很好,只是存储的中文信息需要经过同样处理,才能被其他系统使用。而且如果中文字串出现英文字符,实际上增加了额外的存储空间。

热点排行