A. java中介面編碼格式為gb2312的,但是我們實現的類用的是utf-8的,之間怎麼轉換格式
看你的來源是什麼編碼 如果來源是gb2312 要轉成utf-8
那麼就是 String s1 = new String( s.getBytes("ISO8859-1"),"UTF-8" ) ;
B. java怎麼把utf-8的字元串轉換為gb2312格式
Java中字元串轉碼,根據實際運用的環境有以下三種方式
1、使用Java.lang.String
這是最常用的方法,先用對應編碼獲取位元組,然後重新構造新編碼,示例代碼如下:
Strings="清山";
byte[]b=s.getBytes("utf-8");//編碼
Stringsa=newString(b,"gb2312");//解碼:用什麼字元集編碼就用什麼字元集解碼
2、java.io.InputStreamReader/OutputStreamWriter:橋轉換
讀寫文件的應用中,可以使用這種方式,直接在IO流構造中轉換,示例代碼如下:
InputStreamis=newFileInputStream("C:/項目進度跟蹤.txt");//文件讀取
InputStreamReaderisr=newInputStreamReader(is,"utf-8");//解碼
OutputStreamos=newFileOutputStream("C:/項目進度跟蹤_gb2312.txt");//文件輸出
OutputStreamWriterosw=newOutputStreamWriter(os,"gb2312");//開始編碼
3、java.nio.Charset
使用nio中的Charset轉換字元,示例代碼如下:
CharsetinSet=Charset.forName("utf-8");//解碼字元集
CharsetoutSet=Charset.forName("gb2312");//編碼字元集
CharsetDecoderde=inSet.newDecoder();//解碼器
CharsetEncoderen=outSet.newEncoder();//編碼
C. java中怎樣將GB2312的中文轉換成utf-8編碼
String tempStr="中文";//准備轉換的字元
String result=new String(tempStr.getBytes("GB2312"),"UTF-8");//轉換後的結果
D. 用java,怎樣把GB2312的中文字轉成utf-8編碼
String
Stringsgb2312="中國";
Stringsutf-8=newString(sgb2312.getBytes("GB2312"),"UTF-8");
E. java 怎麼把gb2312編碼的中文轉換成utf-8不出現亂碼
這里假設你那個gb2312編碼的中文變數是str;
str = new String(str.getBytes("GB2312"),"UTF-8");
F. 使用java寫一個utf8 到 gb2312的編碼轉換函數
String newStr = new String(oldStr.getBytes("utf8"), "gb2312");
不過,你是不是要自己寫一個方法實現編碼轉換啊?
還果真是被我猜中了?你是要自己實現嗎?要是真這樣的話我就去幫你看看,要是不是呢,你就以後自己琢磨琢磨,:-D
你要想實現並不難,其實就是參考Java的源碼,哎,這就是開源的好處啊~~
其實我想說的是,設計Java的人固然是牛,但他又不是個神人,他能實現的我們肯定也能,只是也許我們設計出來的沒有他那麼全面,沒他考慮的那麼透徹。
也許我們現在要參考源碼之類的,但是等咱們吧底層的都給抓牢了,以後什麼問題解決不了!
就像以前老師讓咱做文件上傳下載,老師說這簡單,我們全笑了,因為俺們覺得難~~你猜我們那老師怎麼說,笑什麼呢,是很簡單啊,不就一讀寫文件操作嘛,你們都學到這份上了,看到問題還覺得會有很大問題嗎?
唉,俺們老師不知道啊,俺們看到什麼都是覺得難啊,主要是俺們沒底啊~~
呵呵,遠了遠了,見笑啦~~
G. java下gb2312 字元編碼成iso-8859-1 又編碼utf8 ,怎麼再編回來
你把它反編譯回去啊 先編譯成utf-8,然後編譯成iso-8859-1 再編譯成gb2312就可以得到源碼了啊