16进制字符串转换成中文方法.
2006-12-28 13:25:49| 分类: Java编程|字号 订阅
现知道一个16进制的字符串,比如:"6162B4F36364BCD2657CBAC366",哪位高手能给一个将这个字符串转换成中文的方法啊,我到百度上搜了半天也没搜到,即使有也不是java方法。哪位高人能抽出宝贵的时间帮忙解决一下啊,万分感激!!!转换出来应该是六个字母,3个中文,还有一个符号,希望高手们把谜底揭开,关键是写出实现方法,谢谢了!!!!!!!!!!!!!!!!!!!!!! |
|
晕! 没有高手吗? 是因为别的公司开发的delphi程序要调用我们的java程序,其中java中要写个函数,实现将他们传来的数据显示出来并存到数据库,哪位大虾伸出援手啊!!!!!! |
|
晕,帮帮你 应该是:ab大cd家e|好f 首先要知道编码,中国汉字一般使用GBK或者gb2312,gb2312是GBK的子集,因此安全起见使用GBK一般就行了:
public class Decoder { public static void main(String[]args){ String result=decodeString(args[0], "GBK"); System.out.println(result); } private static String decodeString(String string, String encoding) { try { byte[]data=string2Bytes(string); return new String(data, encoding); } catch (UnsupportedEncodingException ex) { ex.printStackTrace(); return null; } } private static byte[] string2Bytes(String string) { int blen=string.length()/2; byte[]data=new byte[blen]; for(int i=0;i<blen;i++){ String bStr=string.substring(2*i,2*(i+1)); data[i]=(byte)Integer.parseInt(bStr,16); } return data; } }
运行: java Decoder 6162B4F36364BCD2657CBAC366 |
|