1 回答

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
Java中字符串轉(zhuǎn)碼,根據(jù)實(shí)際運(yùn)用的環(huán)境有以下三種方式
使用Java.lang.String
這是最常用的方法,先用對(duì)應(yīng)編碼獲取字節(jié),然后重新構(gòu)造新編碼,示例代碼如下:
String s = "清山";
byte[] b = s.getBytes("utf-8");//編碼
String sa = new String(b, "gb2312");//解碼:用什么字符集編碼就用什么字符集解碼
java.io.InputStreamReader/OutputStreamWriter:橋轉(zhuǎn)換
讀寫文件的應(yīng)用中,可以使用這種方式,直接在IO流構(gòu)造中轉(zhuǎn)換,示例代碼如下:
InputStream is = new FileInputStream("C:/項(xiàng)目進(jìn)度跟蹤.txt");//文件讀取
InputStreamReader isr = new InputStreamReader(is, "utf-8");//解碼
OutputStream os = new FileOutputStream("C:/項(xiàng)目進(jìn)度跟蹤_gb2312.txt");//文件輸出
OutputStreamWriter osw = new OutputStreamWriter(os, "gb2312");//開(kāi)始編碼
java.nio.Charset
使用nio中的Charset轉(zhuǎn)換字符,示例代碼如下:
Charset inSet = Charset.forName("utf-8"); // 解碼字符集
Charset outSet = Charset.forName("gb2312"); // 編碼字符集
CharsetDecoder de = inSet.newDecoder(); // 解碼器
CharsetEncoder en = outSet.newEncoder();// 編碼
- 1 回答
- 0 關(guān)注
- 3728 瀏覽
添加回答
舉報(bào)