16進(jìn)制字符串轉(zhuǎn)換成中文方法.
2006-12-28 13:25:49| 分類: Java編程|字號 訂閱
現(xiàn)知道一個(gè)16進(jìn)制的字符串,比如:"6162B4F36364BCD2657CBAC366",哪位高手能給一個(gè)將這個(gè)字符串轉(zhuǎn)換成中文的方法啊,我到百度上搜了半天也沒搜到,即使有也不是java方法。哪位高人能抽出寶貴的時(shí)間幫忙解決一下啊,萬分感激!!!轉(zhuǎn)換出來應(yīng)該是六個(gè)字母,3個(gè)中文,還有一個(gè)符號,希望高手們把謎底揭開,關(guān)鍵是寫出實(shí)現(xiàn)方法,謝謝了!!!!!!!!!!!!!!!!!!!!!! |
|
暈! 沒有高手嗎? 是因為別的公司開發(fā)的delphi程序要調(diào)用我們的java程序,其中java中要寫個(gè)函數(shù),實(shí)現(xiàn)將他們傳來的數(shù)據(jù)顯示出來并存到數(shù)據(jù)庫,哪位大蝦伸出援手啊!!!!!! |
|
暈,幫幫你 應(yīng)該是: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; } }
運(yùn)行: java Decoder 6162B4F36364BCD2657CBAC366 |
|