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