請問關於getBytes之使用 |
尚未結案
|
jichang
一般會員 發表:9 回覆:12 積分:4 註冊:2004-02-11 發送簡訊給我 |
各位大大: 小弟新手上路,應該是個人觀念不清,所以想請問有關getBytes的用法,getBytes不是可以用來轉換成中文嗎?可是我卻無法得到想要的中文。請各位幫忙指教。 小弟嘗試寫一個簡易的小程式,卻得到怪怪的結論,請看:
public class justTest{ public static void main(String[] args) { try { String a,b; a = "中文"; b = new String(a.getBytes("8859_1"), "Big5"); System.out.println(a); System.out.println(b); } catch (Exception e) { System.out.println(e.toString()); } } }[Output] 中文 ?? [/Output] |
rogan321
高階會員 發表:21 回覆:307 積分:200 註冊:2003-05-15 發送簡訊給我 |
你好~請改成這樣
public class justTest{ public static void main(String[] args) { try { String a,b; a = "中文"; byte[] code = a.getBytes("Big5"); b=new String(code, "Big5"); System.out.println(a); System.out.println(b); } catch (Exception e) { System.out.println(e.toString()); } } } |
jichang
一般會員 發表:9 回覆:12 積分:4 註冊:2004-02-11 發送簡訊給我 |
|
rogan321
高階會員 發表:21 回覆:307 積分:200 註冊:2003-05-15 發送簡訊給我 |
引言: 你好~請改成這樣你好~那些都是各種規格的文字編碼有些許相容有些許問題~你可以在上面加上黑體的兩行得到你JRE的編碼方式,Java 內部是使用 Unicode~MS950,但是作業系統不見得,這是一種相容於Big5的編碼方式。所以可正確互換你可試看看~一開始你的變數a的字串指定編碼即是ms950,也就是說你可以將a.getBytes("Big5");改成a.getBytes("MS950"); 一開始你將a指定為8859形式存進BYTES當然出錯~再轉為BIG5就會轉不回來了~至於8859使用的環境大多為jsp網頁因跨平台的關係並非皆使用ms的作業系統~才使用之~也須事先設定字串編碼為8859~ 發表人 - rogan321 於 2004/12/16 14:24:55public class justTest{ public static void main(String[] args) { try { String a,b; a = "中文"; byte[] code = a.getBytes("Big5"); b=new String(code, "Big5"); System.out.println(a); System.out.println(b); String encod=System.getProperty("file.encoding"); System.out.println(encod); } catch (Exception e) { System.out.println(e.toString()); } } } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |