導航:首頁 > 編程語言 > java字元串gbk

java字元串gbk

發布時間:2024-11-20 15:38:26

1. java中GBK編碼格式轉成UTF8,用一段方法實現怎麼做

java中GBK編碼格式轉成UTF8編碼格式的方法如下:

publicstaticvoidmain(String[]args)throwsThrowable{
StringerrStr="errStr";
System.out.println(recover(errStr));
}
publicstaticStringrecover(Stringstr)throwsThrowable{
returnnewString(str.getBytes("GBK"),"UTF-8");
}

其中errStr就是亂碼字元串,按照相反的順序在編碼蘆喊(用gbk)、解碼(用utf-8)回去,就能得到正確的字元串.
GBK、UTF-8是一種「編碼格式」,是用來序列化或存儲「編號(數字含族)」的一種「格式」;GBK和UTF-8都是用來序列化或存儲unicode編碼的數據的,但是分別是2種不同的格式; 除了格式不一樣之外,所關談嘩弊心的unicode編碼范圍也不一樣,utf-8考慮了很多種不同國家的字元,涵蓋整個unicode碼表,所以其存儲一個字元的編碼的時候,使用的位元組長度也從1位元組到4位元組不等;而GBK只考慮中文——在unicode中的一小部分——的字元,的編碼,所以算好了只要2個位元組就能涵蓋到絕大多數常用中文(2個位元組能表示6w多種字元),所以存儲一個字元的時候,所用的位元組長度是固定的;

2. Java中如何把GBK編碼的字元串轉成utf-8編碼

我先解釋一下我對你的問題的理解 :
你的問題有點籠統 可以這么理解兩個意思 : 一 ,你是想吧一個gbk編碼的字元串用utf-8格式來編碼
String s = new String ("全國".getBytes("GBK"),"GBK");
雖然這個時候的s是GBK編碼的 但是s還是中文字元的 所以 上面這位同胞用 new(s.getBytes("GBK"),"UTF-8")的方式肯定是錯的 應該用 String s1 = new String (s.getBytes("UTF-8"),"UTF-8") 這樣s1就是UTF-8編碼的字元串了
二,如果是遇見亂碼問題 比如 String s = new String ("全國".getBytes("GBK"),"GBK");
這樣的s就是gbk編碼的 現在你要把GBK格式的編碼用UTF-8去編碼 肯定就會出現亂碼
String s2 = new String(s.getBytes("GBK"),"UTF-8"); 這個s2肯定是亂碼的 而且這樣就根本解不出來了 系統出現的亂碼顯示的時候才會出現編碼錯誤 所以 一般出現亂碼 只要把輸入流換個編碼解析一下就ok了 還有什麼不明白 可以問我

3. 為什麼java的默認編碼不是utf-8 而是gbk

因為系統是中文語言的,得到的是GBK編碼,所以肯定不是utf的。

工具:

win7

jdk

方法:

  1. 在計算機上右鍵選擇屬性

閱讀全文

與java字元串gbk相關的資料

熱點內容
哪個音樂app有txt的版權 瀏覽:633
dynamo文件夾能刪除嗎 瀏覽:273
程序員用的點擊選顏色的軟體 瀏覽:202
衢州java程序員接私活app 瀏覽:278
java定義變數類型 瀏覽:905
vivo加密門禁卡怎麼使用 瀏覽:638
單片機拆裝 瀏覽:688
js獲取嵌入網站的源碼 瀏覽:820
程序員的職位進階 瀏覽:405
微信全屏頭像源碼 瀏覽:289
伺服器空閑怎麼辦 瀏覽:833
資料庫使用加密函數 瀏覽:345
程序員做些什麼 瀏覽:1004
加密未來的趨勢 瀏覽:325
分數等式運演算法六年級 瀏覽:427
單片機怎麼設置入口和出口參數 瀏覽:870
java字元串gbk 瀏覽:957
編程中的樹的遍歷分為哪三種類型 瀏覽:138
核心編程為什麼要變數 瀏覽:705
學動漫編程就業行情好嗎 瀏覽:166