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 |
|