2006-12-28 13:25:49| 分类: Java编程|字号 订阅
现知道一个16进制的字符串,比如:"6162B4F36364BCD2657CBAC366",哪位高手能给一个将这个字符串转换成中文的方法啊,我到百度上搜了半天也没搜到,即使有也不是java方法。哪位高人能抽出宝贵的时间帮忙解决一下啊,万分感激!!!转换出来应该是六个字母,3个中文,还有一个符号,希望高手们把谜底揭开,关键是写出实现方法,谢谢了!!!!!!!!!!!!!!!!!!!!!!
回复: 求教!急!哪位高手能将6162B4F36364BCD2657CBAC366转换成中文! 作 者: ymy7100 短消息 回复主题: 求教!急!哪位高手能将6162B4F36364BCD2657CBAC366转换成中文!
2006-12-21 下午1:14
回复 1 of 4
回复
晕!没有高手吗?是因为别的公司开发的delphi程序要调用我们的java程序,其中java中要写个函数,实现将他们传来的数据显示出来并存到数据库,哪位大虾伸出援手啊!!!!!!
回复: 求教!急!哪位高手能将6162B4F36364BCD2657CBAC366转换成中文! [得分:50] 作 者: rehte 短消息 回复主题: 求教!急!哪位高手能将6162B4F36364BCD2657CBAC366转换成中文!
2006-12-21 下午2:42
回复 2 of 4
晕,帮帮你应该是: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