new String(str.getBytes("gbk"),"utf-8")
java中的字符串都是用unicode編碼來表示的,GBK編碼的漢字應該是從程序外面獲得的(如數據庫中,或文本文件中), 例如從本地文本文件1.txt以字節(jié)流方式讀取,得到的字節(jié)數組buf就是以GBK編碼的字節(jié)數組,然后用GBK解碼成Unicode字符串str = new String(buf,"GBK"); 然后再編碼成
UTF-8的字節(jié)數組str.getBytes("UTF-8"),這樣才算真正的轉換