下面直接贴代码了:
/* * * 编码从GBK转换成Unicode * @param str * @return */ public static String Gbk2Unicode(String str) { StringBuffer buffer = new StringBuffer(); String splitString = ""; for ( int i = 0; i < str.length(); i++) { buffer.append(splitString); buffer.append(Integer.toHexString(str.charAt(i))); splitString = ","; } return buffer.toString(); } /* * * 编码从Unicode转换成GBK * @param str * @return */ public static String Unicode2Gbk(String str) { StringBuffer buffer = new StringBuffer(); String[] arr = StringUtils.split(str, ','); for ( int i = 0; i < arr.length; i++) { buffer.append(( char) Integer.parseInt(arr[i], 16)); } return buffer.toString(); }
代码很简单,如何使用这里就不在举例了,方法里使用到了commons.lang包里的StringUtils.split方法,在使用前需要引用 commons.lang包,或是改用其他的实现方式。StringUtils.split方法的功能是把字符串按照指定字符拆解为数组。