如何去改變String的編碼格式


昨天面試的時候遇到了一個怎麼改變String的編碼格式,然後第一個想到的是setCharacterEncoding,然後跪了,然後今天研究了下,String 有個這樣的的構造方法String (btye [],String)然後從網上找到了這樣一篇連接http://blog.csdn.net/qmw19910301/article/details/49358947 ,然後發現,居然最後的人字沒有從gbk轉換成utf-8格式的,研究了下, 發現可能跟utf-8一個漢字3個字符,gbk一個漢字2個字節有關,英文和數字都佔一個字符,發現如果你的漢字數量是偶數的話,英文和數字的數量隨意不響應,就不會出現亂碼的問題,這個不知道如何去解決,看到網上有一種似乎是改源碼的方式, 

不過儘管這樣,如果面試中你遇到了讓你把字符串的編碼格式從gbk轉換成utf-8中,你寫了

String s1= "你好啊的"; 
		 String gbk = new String(s1.getBytes("UTF-8"), "gbk"); 
		 System.out.println(gbk);//浣犲ソ鍟婄殑
		 String utf8 = new String(gbk.getBytes("gbk"), "utf-8");
		 System.out.println(utf8);//你好啊的

就能得滿分。不過變量gbk後面的getBtyes()括號裏面可以不用寫內容,他這樣會以你電腦上默認的編碼格式去編輯。

萌新的簡介,不一定完全正確,還有問題希望大神也來補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章