導航:首頁 > 編程語言 > java轉編碼格式

java轉編碼格式

發布時間:2024-10-17 10:22:30

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多種字元),所以存儲一個字元的時候,所用的位元組長度是固定的;

㈡ Java代碼編碼格式

統一的代碼格式在大型項目開發中至關重要,它能顯著提升代碼可讀性與維護性。以下為Java代碼編碼格式的建議:

變數命名需遵循包名小寫,用點分隔符連接自然語義的英語單詞,包名單數形式,類名復數時可使用復數形式;抽象類名以Abstract或Base開頭,異常類以Exception結尾,測試類以要測試的類名開始,以Test結尾。數組類型與中括弧緊挨相連,枚舉類帶Enum後綴,枚舉成員全大寫,單詞間用下劃線隔開。

常量採用全大寫、單詞間下劃線的命名方式,局部常量使用小駝峰形式。

推薦使用4個空格代替tab鍵。二目、三目運算符左右兩側需加空格,注釋雙斜杠與內容之間留空格,方法參數定義與傳入時多個參數後加空格。大括弧內空則直接寫成{},大括弧中間不換行,左小括弧後須換行,左大括弧前加空格且不換行。if與左側小括弧間需空格,else前後加空格。

單目運算符如+(正數)、-(負數)、++、--無空格。空行用於方法、屬性、邏輯、語義、業務代碼的分隔。第二行相對第一行縮進4個空格,從第三行開始不再縮進。換行遵循運算符與下文同行,方法調用的點符號與下文同行,多個參數換行時逗號後換行,括弧前不換行。

在if、else、for、while、do-while等控制語句中必須使用大括弧,即使是單一代碼行也應加括弧。條件表達式中避免賦值操作及復雜數學組合。嵌套層數不宜超過3層,超過3層的邏輯判斷可使用衛語句、策略模式、狀態模式等實現。避免使用取反邏輯運算符。

類上方注釋需使用多行注釋,註明作者與日期,日期在作者下一行,類說明解釋在作者上一行且空一行。全局變數需多行注釋,內容為一行使用斜杠兩個星號和一個星號,多行內容使用斜杠星號和星號斜杠換行。方法注釋使用多行注釋,必須包含@param、@return注釋,參數與注釋之間空兩格或在下一行加空行分隔。注釋內容間需空兩格或在下一行左對齊。方法內部注釋使用雙斜杠,多行注釋使用多個雙斜杠。

強制類型轉換左括弧前空一格,右括弧後空一格。for循環中分號或冒號後空格。while、do-while語句後空一格。

以上代碼格式化規則旨在提升Java代碼的可讀性和維護性,建議在開發過程中嚴格遵循。

㈢ 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了 還有什麼不明白 可以問我

㈣ java中介面編碼格式為gb2312的,但是我們實現的類用的是utf-8的,之間怎麼轉換格式

看你的來源是什麼編碼 如果來源是gb2312 要轉成utf-8

那麼就是 String s1 = new String( s.getBytes("ISO8859-1"),"UTF-8" ) ;

㈤ 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();//編碼

閱讀全文

與java轉編碼格式相關的資料

熱點內容
伺服器太多人登錄怎麼引導 瀏覽:588
歸整演算法 瀏覽:975
長沙應屆生找工作用什麼app 瀏覽:601
貨車空調壓縮機根部線斷了能修嗎 瀏覽:154
提示文件夾正在使用怎麼關 瀏覽:524
老人單片機編程 瀏覽:61
計算機視覺處理的基本演算法 瀏覽:784
東芝64位單片機 瀏覽:771
新松編程 瀏覽:546
快手app大屏下線通知什麼意思 瀏覽:841
移動政務伺服器地址是多少 瀏覽:642
ios打包編譯命令 瀏覽:904
幸福演算法師 瀏覽:584
照片壓縮包格式zip 瀏覽:391
oa伺服器如何設置台式機 瀏覽:656
51單片機4個並口功能 瀏覽:946
androidmk目錄 瀏覽:972
程序員如何渡過35歲 瀏覽:587
e電光伏app是什麼 瀏覽:138
聯想伺服器如何關閉埠 瀏覽:826